PowerBI Desktop - 识别属于列中选定值的公共项

时间:2018-03-15 16:14:21

标签: powerbi dax

我正在尝试对PowerBI进行一些分析。我对这个逻辑感到震惊,我试图识别组中的常见项目,而不是组中的常见项目。

例如,

Group Name  Contact
GroupA      Rock 
GroupA      Eddy
GroupA      Brown
GroupB      Rock 
GroupB      Katie
GroupC      Eddy
GroupC      Brown
GroupC      Katie

如果我选择GroupA和GroupB,那么我想将Common Items输出为1,而不是将Common Items输出为3.

Common Item是Rock 不常见的项目是Eddy,Brown&凯蒂。(我希望将此作为输出视觉的一部分)

我们如何在PowerBI中执行此操作,当我们选择多个组(也超过2个)时,它会动态运行?

1 个答案:

答案 0 :(得分:1)

我会通过检查Contact出现的组数是否与您选择的组数相同来实现此目的:

Common = IF(COUNTROWS(VALUES(Groups[Group Name])) =
               COUNTROWS(CALCULATETABLE(VALUES(Groups[Group Name]),
                                     ALLSELECTED(Groups))),
               "Common", "Not Common")

然后你可以在第二个小节中使用这些标签来计算:

Intersect = IF([Common] = "Common",
               CALCULATE(DISTINCTCOUNT(Groups[Contact]), 
                         FILTER(ALLSELECTED(Groups[Contact]), [Common] = "Common")),
               CALCULATE(DISTINCTCOUNT(Groups[Contact]),
                         FILTER(ALLSELECTED(Groups[Contact]), [Common] = "Not Common")))

然后,您可以使用Contact和新约Intersect以及Group Name上的切片器设置表格或矩阵。

Contact Table