使用 RELATED 和 FILTER 交叉引用 DAX 中的两个表?

Use RELATED and FILTER to cross reference two tables in DAX?

我在 power pivot 中有两个表,一个订单 header 和一个订单明细。我想在 header 上用 true/false 标志标识,如果特定的 class 项目在订单详细信息中。

订单HeaderTable

Order ID    Order Amt   *Has HBG*
100041328   10.24        1
100041329   34.57        0
100041330   25.89        1

订单详情Table

Order ID    SKU       Dept
100041328   1749988   HBG
100041328   9102272   SAC
100041329   1325344   SOA
100041329   4255337   LAF
100041329   7541744   SOC
100041330   7862194   HBG
100041330   3829646   HAS
100041330   3399937   EAR

我正在使用订单 ID 来建立两个表之间的关系。我应该认为 FILTER 和 RELATED 的某种组合可以让我标记 100041328 和 100041330 作为 HBG 部门的产品,但我不断收到错误。关于如何标记这些有什么想法吗?

您可以使用 COUNTROWS inside a CALCULATE 语句计算详细信息 table 上的行数,该语句将行上下文更改为筛选上下文。根据找到的条目数,为 Dept 和 return 1 或 0 添加一个额外的过滤器。您可以将 1 或 0 显示为 True/False。

=
IF (
    CALCULATE (
        COUNTROWS ( DetailsTable ),
        DetailsTable[Dept] = "HBG"
    )
        > 0,
    1,
    0
)