Spotfire® 用户指南

逆转置列

数据可以按不同方式进行组织,但仍包含相同信息。通常,以高/窄格式组织的数据(也就是当仅在几个值列中收集值时)比以短/宽格式(具有很多列)组织的数据更容易可视化。逆转置是将数据从短/宽格式转换为高/窄格式的其中一种方法,从而可以在图表中以所需的方式显示数据。

关于此任务

可以在“分析中的数据”浮出控件中选择具有类似值的多个列,然后使用“逆转置”将这些列合并为包含所有值的单个列。如果源列的数据类型可能不同,不同的数据会在合并的列中转化为共同的数据类型。

开始之前

必须在分析中加载一些数据,并且分析必须处于编辑模式。
提示: 但是,如果使用逆转置数据转换来执行逆转置,您可以通过更多选项来控制其结果。此类转换只能使用已安装的客户端添加。

过程

  1. 在编写栏上,单击“分析中的数据”,然后单击以选择要合并的列。
    • 要选择一组连续列,请单击第一列,然后按住 Shift 键并单击最后一列。
    • 要选择非连续列,请按住 Ctrl 键并单击各个列,或者确保选中各个列的复选框。
  2. 右键单击选定的列之一,然后从弹出菜单中选择“逆转置”

结果

选定的列中的值将合并到名为“值”的单个列中。此外,还会创建一个新的类别列,其中将先前的列名称用作类别。

示例:将多个温度输入合并为单个平均温度

此示例显示了逆转置一个非常简单的数据表。原始数据表中有三列和四行。每行包含一个城市以及每个城市所对应的早上温度和夜间温度:
Short/wide data table with temperature data.

虽然这些确实是有用数据,但您可能需要确定所有城市全天的平均温度。

“分析中的数据”浮出控件中,单击以选择“早上温度”列和“夜间温度”列,然后右键单击并选择“逆转置”


Unpivot option in the pop-up menu of the Data panel.
如果需要,可以在浮出控件中更改新列的名称。在此示例中,新的值列的名称已更改为“温度”,而新的类别列名为“测量类型”。
Editing a column name in the expanded Data panel.
逆转置数据之后,数据表中的每行表示一个测量。
Tall/skinny data table with temperature data, after unpivoting.
例如,现在可以轻松地在条形图中显示每个城市的温度平均值。
Bar chart showing average temperature in different cities.
注: 在原始数据中,早上温度以整数提供,而夜间温度以实数提供。在逆转置的数据表中,所有值必须具有相同的数据类型。因此,整数会自动更改为实数(因为将实数温度更改为整数会导致信息丢失)。

示例:将多个服务台的销售额数据合并为单个列

在此示例中,我们使用一个较大的数据集,其中包含针对某一博物馆门票销售量的数据。原始数据表显示了五个售票台(服务台)中每一个所对应的数据,以及每天销售给成人、儿童和老人的门票数量。数据以短/宽格式进行组织,即,电子表格包含许多具有类似数据的列。
Short/wide data table with ticket sales information.

如果您通常更想分析门票销售量,而不需要知道各个柜台各自的门票销售量和购买者,您可以逆转置数据。这样,您可以将多个服务台列合并为单个列,并将所有所有门票销售量数字合并为另一个列。

在下面的数据表中,相同的数据以高/窄格式进行组织。多个服务台的值已合并为名为“门票”的单个列,而新的类别列名为“服务台”,其中显示各个柜台各自的门票销售量。
Tall/skinny data table with ticket sales information, after unpivoting.
通过对新的数据表进行分析,可以发现星期三的门票销售量最少。
Bar charts showing ticket sales per week day and quarter.