在 Power BI 中查找并标记具有给定成分的项目
Find and mark items with given composition in Power BI
我有几百万行数据如下。
CUSTOMER_NO SERVICE
11111111 AB
11111111 BC
11111111 XY
11111111 SA
55555555 AB
55555555 BC
55555555 SA
55555555 HG
77777777 WE
77777777 LK
77777777 AS
77777777 GG
22222222 AB
22222222 BC
22222222 SA
99999999 WE
99999999 AS
99999999 GG
我们决定将享受我们部分服务的客户标记为黄金组或白银组。
我需要用下面的方式总结一下。
CUSTOMER_NO SERVICE **MARKER**
11111111 AB SILVER +XY
11111111 BC SILVER +XY
11111111 XY SILVER +XY
11111111 SA SILVER +XY
55555555 AB SILVER +HG
55555555 BC SILVER +HG
55555555 SA SILVER +HG
55555555 HG SILVER +HG
77777777 WE GOLD + LK
77777777 LK GOLD + LK
77777777 AS GOLD + LK
77777777 GG GOLD + LK
22222222 AB SILVER
22222222 BC SILVER
22222222 SA SILVER
99999999 WE GOLD
99999999 AS GOLD
99999999 GG GOLD
银、金等的成分如下。
GOLD WE
GOLD AS
GOLD GG
SILVER AB
SILVER BC
SILVER SA
由于它的庞大规模,我很难在 Excel 中做到这一点,而且作为 Power Bi 的新手,我正在努力构建网格。
你能帮我在 Power BI 中解决这个问题吗?
将两个 table 加载到 Power BI,并使用关系图标加入客户 table 服务字段和引用 table。这将允许构建一个 table 给你所有三行
尝试以下代码(数据 - 来自 post 的第一个 table,标记 - 最后一个)。注意,例如,如果 Service = XY 出现在其他人之前,那么对于 Customer = 11111111,标记填充为 XY + SILVER,而不是 SILVER + XY.
let
group = Table.Group(Data, {"CUSTOMER_NO"}, {"MARKER", each _[SERVICE]}),
transform = Table.TransformColumns(group, {"MARKER", each Text.Combine(
List.Distinct(List.Transform(_, each try Markers{[SERVICE = _]}[MARKER] otherwise _)),
" + ")}),
join = Table.Join(Data,{"CUSTOMER_NO"},transform,{"CUSTOMER_NO"})
in
join
我有几百万行数据如下。
CUSTOMER_NO SERVICE
11111111 AB
11111111 BC
11111111 XY
11111111 SA
55555555 AB
55555555 BC
55555555 SA
55555555 HG
77777777 WE
77777777 LK
77777777 AS
77777777 GG
22222222 AB
22222222 BC
22222222 SA
99999999 WE
99999999 AS
99999999 GG
我们决定将享受我们部分服务的客户标记为黄金组或白银组。
我需要用下面的方式总结一下。
CUSTOMER_NO SERVICE **MARKER**
11111111 AB SILVER +XY
11111111 BC SILVER +XY
11111111 XY SILVER +XY
11111111 SA SILVER +XY
55555555 AB SILVER +HG
55555555 BC SILVER +HG
55555555 SA SILVER +HG
55555555 HG SILVER +HG
77777777 WE GOLD + LK
77777777 LK GOLD + LK
77777777 AS GOLD + LK
77777777 GG GOLD + LK
22222222 AB SILVER
22222222 BC SILVER
22222222 SA SILVER
99999999 WE GOLD
99999999 AS GOLD
99999999 GG GOLD
银、金等的成分如下。
GOLD WE
GOLD AS
GOLD GG
SILVER AB
SILVER BC
SILVER SA
由于它的庞大规模,我很难在 Excel 中做到这一点,而且作为 Power Bi 的新手,我正在努力构建网格。
你能帮我在 Power BI 中解决这个问题吗?
将两个 table 加载到 Power BI,并使用关系图标加入客户 table 服务字段和引用 table。这将允许构建一个 table 给你所有三行
尝试以下代码(数据 - 来自 post 的第一个 table,标记 - 最后一个)。注意,例如,如果 Service = XY 出现在其他人之前,那么对于 Customer = 11111111,标记填充为 XY + SILVER,而不是 SILVER + XY.
let
group = Table.Group(Data, {"CUSTOMER_NO"}, {"MARKER", each _[SERVICE]}),
transform = Table.TransformColumns(group, {"MARKER", each Text.Combine(
List.Distinct(List.Transform(_, each try Markers{[SERVICE = _]}[MARKER] otherwise _)),
" + ")}),
join = Table.Join(Data,{"CUSTOMER_NO"},transform,{"CUSTOMER_NO"})
in
join