在 Dax 中过滤子项时显示父值

Display parent values when child filtered in Dax

我有这个table,

并且我想显示拥有 'Campagne' A 的客户的所有数据。这就是我想要的:

有什么想法吗?

谢谢。

您可以使用下图中的代码,但是您应该为此添加一个额外的列。

您可以使用以下方法创建第二个 table 作为计算的 table:

TableA = FILTER(Table1,
             "A" IN CALCULATETABLE(
                        VALUES(Table1[Campagne]),
                        ALL(Table1),
                        Table1[Client] = EARLIER(Table1[Client])))

如果您想在原始 table 上使用 True / False 计算列,您可以只使用上面的条件部分:

ClientA = "A" IN CALCULATETABLE(
                     VALUES(Table2[Campagne]),
                     ALL(Table2),
                     Table2[Client] = EARLIER(Table2[Client]))

它们所做的是获取整个 table(ALL 行),过滤它以查看当前行中的 ClientEARLIER 行) ,并找到与此过滤 table 的 Client 任何行(VALUES 行)关联的所有不同 Campagne。获得这些值后,我们检查 "A" 是否是成员。

内部计算是客户参与香槟 A 的过滤器。使用过滤器,外部计算显示 table 和正确的客户。

EVALUATE
CALCULATETABLE (
    Campaigne,
    CALCULATETABLE ( 
        DISTINCT ( Campaigne[Client] ), 
        Campaigne[Campagne] = "A" )
)