将具有相似信息的行合并为 1
Combine rows with similar information into 1
我有一个 table 看起来像这个例子:
Order Bagged Shipped
----------------------------------
1 Y
2 Y
1 Y
3 Y
我想将类似的订单号合并为 1 行,如下所示:
Order Bagged Shipped
----------------------------------
1 Y Y
2 Y
3 Y
如何在 PowerBi 桌面中执行此操作?
假设您的数据真的像您的示例一样简单(值为 null 或 'Y' 并且没有冲突),我建议如下:
SELECT Order, MAX(Bagged), MAX(Shipped)
FROM mytable
GROUP BY Order
GROUP BY Order
表示您希望每个订单一行,其他列的 MAX
确保您获得 'Y'(如果该订单存在)或 null
(如果该订单不存在 'Y')。
在 BI 中,select 转换,然后将 GroupBy 函数添加到您现有的代码中:
#"Grouped Rows" = Table.Group(#"Previous Step", {"Order"}, {
{"Bagged", each if List.Contains([Bagged], "Y") then "Y" else null},
{"Shipped", each if List.Contains([Shipped], "Y") then "Y" else null}
})
in
#"Grouped Rows"
我有一个 table 看起来像这个例子:
Order Bagged Shipped
----------------------------------
1 Y
2 Y
1 Y
3 Y
我想将类似的订单号合并为 1 行,如下所示:
Order Bagged Shipped
----------------------------------
1 Y Y
2 Y
3 Y
如何在 PowerBi 桌面中执行此操作?
假设您的数据真的像您的示例一样简单(值为 null 或 'Y' 并且没有冲突),我建议如下:
SELECT Order, MAX(Bagged), MAX(Shipped)
FROM mytable
GROUP BY Order
GROUP BY Order
表示您希望每个订单一行,其他列的 MAX
确保您获得 'Y'(如果该订单存在)或 null
(如果该订单不存在 'Y')。
在 BI 中,select 转换,然后将 GroupBy 函数添加到您现有的代码中:
#"Grouped Rows" = Table.Group(#"Previous Step", {"Order"}, {
{"Bagged", each if List.Contains([Bagged], "Y") then "Y" else null},
{"Shipped", each if List.Contains([Shipped], "Y") then "Y" else null}
})
in
#"Grouped Rows"