跳转至

Transform table computation differences(转换表计算差异)

The following sections documents the differences between how Quiver transform tables handle certain computations/visualizations and how they are handled in object sets.

Property types treated as strings

Some complex property types do not have specific transform operations associated with them, but are treated as strings and can be used as input to string operations. Ontology array properties are also stringified. For example, if an object had a property with value ["a", "b", "c"], then in a transform table it would be a single string "[a, b, c]". In this case, the split transform can be used to convert the string back into an array.

The following properties are treated as a string in transform tables:

  • Geoshape
  • Vector
  • Struct
  • Byte
  • Any array property

Categorical Charts

The transform table categorical charts behave slightly differently for the per series category limit. In the object set categorical charts (such as the bar chart), if a series is segmented, categories will be determined based on sorting the unsegmented series. However in the categorical chart from transform table card if a series is segmented, categories will be determined based on sorting the summed segments per category. So the categories shown may differ for the same input data.

Pivot Table

The pivot transform table has a major difference from the object set pivot table, which is that it shows a dimension for rows/columns that have no value. So if you had a Boolean property that you were pivoting on, you would have three dimensions in the pivot transform table (true, false, no value) while the object set pivot table would only have two dimensions (true or false).

Since the transform table stringifies arrays, the pivot transform table will only have one dimension for each unique property value while the object set pivot table will explode the array so you have one dimension for each unique value in the arrays. For example, if you had an object set with a number array property and two objects with values for that property being [1, 2, 3] and [1, 2, 4] then in the transform table you would have two dimensions (being "[1, 2, 3]" and "[1, 2, 4]") while the object set pivot table would have four dimensions (1, 2, 3, and 4 each being their own dimension).

The object set pivot table allows you to bucket on struct/vector properties but since those are stringified in the pivot transform table, you will not be able to do the same.


中文翻译

转换表计算差异

以下章节记录了 Quiver 转换表 处理某些计算/可视化方式与对象集处理方式之间的差异。

视为字符串的属性类型

某些复杂属性类型没有与之关联的特定转换操作,但会被视为字符串,并可作为字符串操作的输入。本体数组属性(ontology array properties)也会被字符串化。例如,如果某个对象具有值为 ["a", "b", "c"] 的属性,那么在转换表中它将变为单个字符串 "[a, b, c]"。在这种情况下,可以使用拆分转换将字符串重新转换为数组。

以下属性在转换表中被视为字符串:

  • 地理形状(Geoshape)
  • 向量(Vector)
  • 结构体(Struct)
  • 字节(Byte)
  • 任何数组属性(Any array property)

分类图表

转换表的分类图表在每系列类别限制方面的行为略有不同。在对象集分类图表(如柱状图)中,如果某个系列被分段,类别将基于对未分段系列进行排序来确定。然而,在转换表卡片的分类图表中,如果某个系列被分段,类别将基于对每个类别的分段求和结果进行排序来确定。因此,对于相同的输入数据,显示的类别可能会有所不同。

透视表

透视转换表与对象集透视表有一个主要区别:透视转换表会显示没有值的行/列维度。因此,如果你对一个布尔属性(Boolean property)进行透视,透视转换表中会有三个维度(true、false、无值),而对象集透视表只有两个维度(true 或 false)。

由于转换表会将数组字符串化,透视转换表对每个唯一属性值只有一个维度,而对象集透视表则会展开数组,使数组中的每个唯一值都成为一个维度。例如,如果你有一个包含数字数组属性的对象集,其中两个对象的属性值分别为 [1, 2, 3][1, 2, 4],那么在转换表中你将有两个维度(即 "[1, 2, 3]""[1, 2, 4]"),而对象集透视表则有四个维度(1234 各自成为一个维度)。

对象集透视表允许你按结构体/向量属性进行分桶,但由于这些属性在透视转换表中被字符串化,你将无法执行相同的操作。