【问题标题】:Filtering during CALCULATETABLE using values from another table (DAX)在 CALCULATETABLE 期间使用来自另一个表 (DAX) 的值进行过滤
【发布时间】:2018-07-24 15:10:18
【问题描述】:

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

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 包含一个唯一的 OrderID 值列表,其中包含特定产品 X(例如 V24-GY)。这是使用 SUMMARIZECOLUMNS 创建的,并应用了在表 1 中搜索产品 XFILTER

OrderID
9235064
7924823

我想使用Table 2 中的OrderID 值作为Table 1 的过滤器,以便创建一个新表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 未被识别为有效名称/实体,因此无法使用。

我怎样才能到达Table 3

【问题讨论】:

  • 您需要单独拥有Table 2 还是只是获得Table 3 的中间步骤?
  • @AlexisOlson - 我创建它是我创建表 3 的中间步骤
  • 在这种情况下,最好不要创建它,因为它是自己的计算表。您能否概述一下您希望最终结果Table 3 的样子?您可以完全跳过中间步骤。
  • 感谢@AlexisOlson。我想要的是一个表格,它显示了至少购买了 1 个产品 X 的所有订单的内容。在某种程度上,它是一种亲和矩阵(我也一直在研究购物篮技术)。
  • 是的,很确定您不需要中间表,但很难确定,因为您没有显示任何示例表。 mcve 对回答这个问题很有帮助。

标签: powerbi dax powerbi-desktop


【解决方案1】:

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

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]))

【讨论】:

  • 快速说明,以防这会影响其他人。当我运行上述内容时,我不断收到错误消息,指出其中的列不允许出现重复值多对一关系的一方。检查您的关系(主页 -> 管理关系),因为有时会创建不应该存在的连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 2019-03-10
  • 2021-05-21
  • 2022-10-01
  • 1970-01-01
相关资源
最近更新 更多