Data Reshaping — Principles
VSeed proposes a universal dimension reshaping method to further lower the barrier to data visualization.
Data reshaping refers to the process of converting data from one structured form to another. The core is changing the organization of data (rows, columns, indices, hierarchies) to suit different analysis or processing needs while maintaining data integrity.
Dimension Reshaping
Python and R languages already have tools that support dimension reshaping:
- Python Pandas provides
pivotandmeltfor data reshaping - R tidyverse provides
pivot_longerandpivot_widerfor data reshaping
Dimension Increase (Upsampling) and Reduction
Dimension increase and reduction philosophically align with category theory (objects and morphisms, isomorphisms), but are not strictly implemented following category theory.
Special notes:
- During dimension increase, "measure name" and "measure value" information is created "out of nothing"
- During dimension reduction, "measure name" and "measure value" information that exists in the data is "removed"
Dimension increase can completely transform data, but dimension column names may have null values, so filling in additional information is supported. Dimension reduction loses information content, so additional transformation information needs to be saved to achieve true isomorphic transformation — otherwise information will inevitably be lost.

Grouped Dimension Increase and Reduction
Similar to ordinary increase and reduction, with similar information addition or loss scenarios. Additionally, the introduction of grouping creates more empty data.
Significance:
- Measure grouping: Easily handles detail data through grouped dimension increase
- Multi-group queries: Multiple SQL queries can easily fetch multiple sets of detail data, and they can be merged into one dataset via grouped dimension reduction

Rule Derivation
Dimension Increase


:::tip
- Multiple measures — dimension increase turns measure count to 1. 1 measure after dimension increase is still 1.
- Multiple dimensions — dimension increase adds one more dimension. Even 0 dimensions becomes 1.
- 0 dimensions, 1 measure — can repeatedly apply dimension increase to get any number of dimensions and 1 measure (so 1 measure can also render a bar chart) :::
Dimension Reduction


:::tip
- Multiple measures — dimension reduction: measure values and measures form a Cartesian product, creating new measures
- Multiple dimensions — dimension reduction: multiple dimension values form a Cartesian product, creating new dimensions :::
Examples
0 Dimensions, 1 Measure

0 Dimensions, 3 Measures

1 Dimension, 1 Measure

1 Dimension, 2 Measures

2 Dimensions, 1 Measure

2 Dimensions, 2 Measures
