If statement DAX中连接字段上的筛选器特定值

If statement DAX中连接字段上的筛选器特定值,if-statement,conditional,powerbi,dax,powerquery,If Statement,Conditional,Powerbi,Dax,Powerquery,我不是DAX和Power查询语言的专家,我需要帮助 我有一张类似于以下内容的表格: 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

我不是DAX和Power查询语言的专家,我需要帮助

我有一张类似于以下内容的表格:

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
Item3
Item4
列中独立于位置的所有行

示例

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

Item1 Item2 Item3 Item4
F     G     H     I
A     H     D     R
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]))
有人知道如何解决这个问题吗?也许用电源查询


谢谢你的建议

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


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

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

Item1 Item2 Item3 Item4
F     G     H     I
A     H     D     R
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]))
现在在Relationships(关系)屏幕下,在两个表上的索引列之间创建一个关系,确保双向过滤都适用

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