如何根据 power bi 中的其他 table 字段过滤数据

How to filter data based on other table field in power bi

我有 3 Tables Company, Employee, Card 如下图所示; table 之间有关系。

从卡片上我们可以看出table不是每个公司都有卡片,或者有张与之相关的卡片,

要求

我想创建一个圆环图,根据公司是否至少有一张卡片或“NO”(无卡片)来显示公司数量。

例子在这里; 50% Hold a card 40% NO.

公司:1,5,6,7,10(有卡)

公司:2,3,4,8,9(不)

我的解决方案

我将卡片 table 中的 card_ID 列合并到公司 table(左加入卡片 table 作为第二个),

然后创建了一个新列“Card_Holder”,如果 card_ID 列不为空则指示“是”,如果为空则指示“否”。

但是当我应用更改时,power bi 在公司 Table 中发现了一个重复的 ID,这是真的,因为上述步骤根据卡片为每个公司创建了不止一条记录 table.

我的解决方案不好而且不起作用,可能我正在考虑 excel。

在 Power BI 中执行此操作的合适方法是什么?

您可以在 Company 中创建一个计算列来计算与该公司相关的 Cards 中的行数,并且 return 如果超过 0 行则为是,否则为否:

HasCard = 
    IF(
        COUNTROWS( RELATEDTABLE( Card ) ) > 0,
        "Yes",
        "No")

然后将其用作饼图的图例,其值为公司[Company_Id]的计数:

注意:如果您想在 PowerQuery 中执行此操作,您可以在 left join

之前按 Company_ID 对 Card 进行分组