在Power BI中查找并标记具有给定组成的项目

问题描述 投票:0回答:2

我在下面给出了几百万行数据。

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中解决这个问题吗?

powerbi powerquery powerbi-desktop
2个回答
0
投票

将两个表加载到电源BI中,并使用关系图标连接客户表服务字段和引用表。这将允许构建一个表,为您提供所有三行


0
投票

尝试以下代码(数据 - 您帖子中的第一个表格,标记 - 最后一个)。请注意,例如,如果Service = XY出现在其他人之前,那么对于Customer = 11111111,Marker将填充为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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.