我的输入是一个表格:
我需要进行自定义枢轴,以确保:
列始终为五列,即使列
ID
只有三列,对于缺失的列,我们需要用0
填充它们
各列的顺序如下:
1 - TO START
、2 - IN PROGRESS
、3 - CANCELLED
、4 - STANDBY
和 5 - FINISHED
我的预期输出如下表:
+------------+---------------+-------------+-----------+------------+
| TO START | IN PROGRESS | CANCELLED | STANDBY | FINISHED |
|------------+---------------+-------------+-----------+------------|
| 6 | 13 | 1 | 0 | 14 |
+------------+---------------+-------------+-----------+------------+
但是我的代码现在给了我这个:
你们能告诉我怎么做吗?
这是用于生成我的示例的最小可重现代码:
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45W8vRTCAjydw9yDQ5W0lEyUorVQRczBou5efp5Bnu4ugAFTMECzo5+zq4+PmARA7BIiL9CcIhjUAhcD7ISQ+xKkIzFZrcFuiJzpdhYAA==",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [ID = _t, HOW_MANY = _t]
),
Types = Table.TransformColumnTypes(Source, {{"ID", type text}, {"HOW_MANY", Int64.Type}}),
Pivot = Table.Pivot(Types, List.Distinct(Types[ID]), "ID", "HOW_MANY", List.Sum)
in
Pivot
更新
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45W8vRTCAjydw9yDQ5W0lEyUorVQRczBou5efp5Bnu4ugAFTMECzo5+zq4+PmARA7BIiL9CcIhjUAhcD7ISQ+xKkIzFZrcFuiJzpdhYAA==",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [ID = _t, HOW_MANY = _t]
),
Types = Table.TransformColumnTypes(Source, {{"ID", type text}, {"HOW_MANY", Int64.Type}}),
Dummy = #table({"ID", "HOW_MANY"},{ {"TO START",0},{"IN PROGRESS",0} ,{"CANCELLED",0},{"STANDBY",0},{"FINISHED",0} }) & Types,
Pivot = Table.Pivot(Dummy, List.Distinct(Dummy[ID]), "ID", "HOW_MANY", List.Sum)
in
Pivot