在 CALCULATETABLE 期间使用来自另一个 table (DAX) 的值进行过滤

Filtering during CALCULATETABLE using values from another table (DAX)

我在 Power BI 工作区中有两个 table:

Table 1 源自提取订单列表及其中的产品的查询。

CustomerID    OrderID    ProductID    Country    Date
0010234       9235064    V24-GY       UK         04/07/2018
0010234       9235064    AB5-84       UK         04/07/2018
0010234       9235064    RIM-3S       UK         04/07/2018
0010234       4812623    V79-GY       UK         27/09/2018
0049371       7924823    V24-GY       UK         09/10/2018
0049371       7924823    59H-PW       UK         09/10/2018

Table 2 包含包含特定产品 X(例如 V24-GY)的唯一 OrderID 值列表。这是使用 SUMMARIZECOLUMNS 并应用在 Table 1

中搜索产品 XFILTER 创建的
OrderID
9235064
7924823

我想使用 Table 2 中的 OrderID 值作为 Table 1 的过滤器,这样我就可以创建一个新的 table、Table 3 .

CustomerID    OrderID    ProductID    Country    Date
0010234       9235064    V24-GY       UK         04/07/2018
0010234       9235064    AB5-84       UK         04/07/2018
0010234       9235064    RIM-3S       UK         04/07/2018
0049371       7924823    V24-GY       UK         09/10/2018
0049371       7924823    59H-PW       UK         09/10/2018

我尝试将 CALCULATETABLEFILTER 一起使用,但 Table 2 未被识别为有效的 name/entity,因此无法使用。

我怎样才能到达 Table 3

您可以在只计算 Table2 作为变量而不是显示在数据模型中的计算 table 的情况下执行此操作。

Table3可以计算如下:

 Table3 = 
     VAR Table2 = SUMMARIZECOLUMNS(Table1[OrderID],
                      FILTER(Table1, Table1[ProductID] = "V24-GY"))
     RETURN FILTER(Table1, Table1[OrderID] IN Table2)

这是一个跳过总结的类似方法。

Table3 = FILTER(Table1,
             Table1[OrderID] IN
                 SELECTCOLUMNS(
                     FILTER(Table1, Table1[ProductID] = "V24-GY"),
                     "OrderID", Table1[OrderID]))