维度系统
为什么我们需要维度?
数据交互的痛点
存在不同格式的数据: Sim-CPSS 支持的数据格式丰富多样,包括:标量、向量、矩阵、张量等。这些数据格式的根本差异在于维度—标量/向量/矩阵/张量分别对应0维/1维/2维/多维的数据。丰富的数据格式在满足用户多样化数据表达需求的同时,无形中也阻碍了属性间、对象间、空间之间的数据自由传输,增加了数据处理的复杂性。
存在不同长度的数据: 长度不同的向量、行列数不同的矩阵、维度长度不一的张量也不支持自由传输。
格式与长度相同,意义仍不一样: 除了格式与长度,数据之间的差异还可能体现在数据类型、单位等其它方面。
维度是解决数据交互问题的工具
想要解决以上问题,必须让用户能够自由且明确的定义一系列有实际意义(而不是只有数学意义)的"维度",所以 Sim-CPSS 引入了"维度"这一基本工具。
定义:表示变量空间中的一个分类坐标轴。该坐标轴通常具有有限的分类数。
2 个内置维度:【跨维度】用于存放标量数据,【不定】维度用于存放动态长度数据,如列表。
自定义维度:除内置维度以外,用户可自由定义更多维度,不过这些维度的长度必须为确定值。目前支持 3 类自定义方法:“长度法”、“循环步进法"和"枚举法”。“长度法“就是直接指定维度的长度,如: 3 表示的维度包括: 1,2,3 这 3 个元素;“循环步进法"就是同时指定 (长度, 起点, 步长),如:(3, 2023,2) 表示的维度包括: 2023, 2025, 2027 这 3 个元素;“枚举法"就是直接列举维度元素,如:按 (春,夏,秋,冬) 枚举的维度包括: 春,夏,秋,冬这 4 个元素。
给维度命名:每个维度都有一个全局唯一的名字,“自定义维度"的名字也是自定义的。此外,每个"维度"还占据一个颜色,用颜色方块来区分"维度"不仅容易辨认,还突显了它的基础地位。
使用维度表达向量、矩阵和张量:给特定变量分配多少个维度,就决定了它到底是向量、矩阵还是张量。分配1个/2个/3个维度分别表示该变量为向量、矩阵和3维张量。矩阵和张量的表达还需注意维度分配的顺序,显然 M×N 矩阵并不等于 N×M 矩阵,就是这个道理。
什么是维度指针?
维度指针是改变矩阵或张量当前可见/可编辑块的工具,通过移动指针,改变对维度当前值的选择,实现在多维数据各个部分之间的切换。高维度数据在低维空间的显示与运算均有赖于这种切换。由于平台使用二维表格视图展示数据,因此一次只能显示一个维度的数据。对于矩阵和张量数据,在显示一个维度时,就不得不隐藏其它的维度。平台通过维度指针来确定“隐藏维度”的当前值,只有当前值处于显示状态,其它值均处于隐藏状态。如果希望改变这些“隐藏维度”的可见区域,您就需要修改维度指针。
以下图中D列为例,该列为矩阵格式的数据,这个矩阵由【典型工况】与【运行尺度】2个维度构成,当前显示的是【典型工况】为【春季】的24小时的【理论负荷率】数据,如下图所示。
Sim-CPSS平台中一个矩阵数据的表示
修改维度指针,切换变量可见区域的原理
操作维度指针的具体做法如下:
- 选中“理论负荷率”所在数据列,在【3.工具栏】中点击【编辑列】按钮,打开【列编辑器】,如下图所示;
- 点击【维度指针】中相应维度(这里是【典型工况】)下拉框,在其中选择【夏季】,则可看到【夏季】的“理论负荷率”数据已经显示在【5.表格区】了;
- 现在您可以在【5.表格区】对夏季数据进行查看和编辑。
改变维度指针的操作页面