【问题标题】:Filter specific value on a concatenate field in DAX在 DAX 中的连接字段上过滤特定值
【发布时间】:2018-03-15 22:38:30
【问题描述】:

我不是 DAX 和 Power Query 语言方面的专家,我需要帮助。

我有一个类似于以下的表格:

Item1 Item2 Item3 Item4 Conc_2-4
A     B     C     D     B,C,D
F     G     H     I     G,H,I
L     M     G     C     M,G,C
A     H     D     R     H,D,R

在我的报告中,我想显示一个表,其中只有前 4 列(没有列 Conc_2-4),但我希望能够通过列 Conc_2-4 过滤表,没有这个显示在报告中。

换句话说,我希望过滤器中的项目具有不同的值,当我过滤某个项目时,结果应该返回在列Item2、@987654325 中存在该项目的所有行@, Item4 独立于位置。

示例

如果我在我的报告中过滤项目H,我的报告中的结果表应如下所示:

Item1 Item2 Item3 Item4
F     G     H     I
A     H     D     R

有谁知道如何解决这个问题?也许使用 Power Query?

感谢您的任何建议

【问题讨论】:

    标签: if-statement conditional powerbi dax powerquery


    【解决方案1】:

    有趣的问题。我找到了一种可行的方法,但可能还有其他解决方案。


    首先,我们需要一个索引列。转到查询编辑器并选择您的 Items 查询。在“添加列”选项卡上,单击“索引列”按钮,然后单击“关闭并应用”。

    现在我们有了一个索引列,我们将创建一个新表来充当切片器。转到建模选项卡并创建一个新表,如下所示:

    Slicer = UNION(SELECTCOLUMNS(Items, "Item", Items[Item2], "Index", Items[Index]), 
                   SELECTCOLUMNS(Items, "Item", Items[Item3], "Index", Items[Index]),
                   SELECTCOLUMNS(Items, "Item", Items[Item4], "Index", Items[Index]))
    

    现在在“关系”屏幕下,在两个表的索引列之间创建关系,确保双向过滤适用。

    就是这样!现在您应该能够创建一个行为与您指定的一样的表和切片器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 2013-03-08
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      相关资源
      最近更新 更多