首页 > 解决方案 > 比较列值并忽略元素 DAX 的顺序

问题描述

我有一列需要检查列值是否包含任何顺序的相同数据。

如果值以任何顺序匹配,我想将第一个值作为输出值。

在此处输入图像描述

我们可以使用 DAX 做到这一点吗?

标签: powerbidaxpowerquery

解决方案


如果需要,这似乎适用于 M / Powerquery

它拆分、排序和重新组合 Combo Code 列,然后自行合并并选择第一个匹配的行

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Combo code", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Text.Combine(List.Sort(Text.Split([Combo code], ",")), ",")),
#"Merged Queries" = Table.NestedJoin(#"Added Custom",{"Custom"},#"Added Custom",{"Custom"},"Added Custom",JoinKind.LeftOuter),
#"Added Custom1" = Table.AddColumn(#"Merged Queries", "Output", each Table.First([Added Custom])[Combo code]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Custom", "Added Custom"})
in #"Removed Columns"

推荐阅读