Pentaho 将列转置为行
Pentaho Transpose column to rows
我在 Pentaho 中有这个 table。
YYYYMM Value Counts
201701 InSTOCK 10
201702 InSTOCK 5
201703 InSTOCK 2
201704 InSTOCK 4
201702 newstock 4
201703 newstock 8
201704 newstock 8
201701 reserve 3
201702 reserve 3
我想要这样的数据
YYYYMM InSTOCK newstock reserve
201701 10 3
201702 5 4 3
201703 2 8
201704 4 8
有没有办法像这样使用 Pentaho 或 SQL 查询来取消透视?
是的,您可以使用 SQL 或 Pentaho。使用 Pentaho,您可以使用步骤 Row denormaliser.
要使用行去规范化器,您需要事先按照用于对逆透视操作进行分组的列对行进行排序。在运算符中,您定义 group columns、key column 以执行 unpivot,以及新列:
- 目标字段名是新列的名称
- Value fieldname 是您用来填充此 Target fieldname 的传入列的名称
- 键值是您在上面选择的键字段(列)执行反透视的值。在您的示例中,Key value 和 Target fieldname 具有相同的值,但您可以为您的值定义不同的列名。
我在 Pentaho 中有这个 table。
YYYYMM Value Counts
201701 InSTOCK 10
201702 InSTOCK 5
201703 InSTOCK 2
201704 InSTOCK 4
201702 newstock 4
201703 newstock 8
201704 newstock 8
201701 reserve 3
201702 reserve 3
我想要这样的数据
YYYYMM InSTOCK newstock reserve
201701 10 3
201702 5 4 3
201703 2 8
201704 4 8
有没有办法像这样使用 Pentaho 或 SQL 查询来取消透视?
是的,您可以使用 SQL 或 Pentaho。使用 Pentaho,您可以使用步骤 Row denormaliser.
要使用行去规范化器,您需要事先按照用于对逆透视操作进行分组的列对行进行排序。在运算符中,您定义 group columns、key column 以执行 unpivot,以及新列:
- 目标字段名是新列的名称
- Value fieldname 是您用来填充此 Target fieldname 的传入列的名称
- 键值是您在上面选择的键字段(列)执行反透视的值。在您的示例中,Key value 和 Target fieldname 具有相同的值,但您可以为您的值定义不同的列名。