动态行比较 table - DAX/M 语言/Power BI
Dynamic row comparison in one table - DAX / M language / Power BI
这可能吗?
我有一个 table,其中有一列包含产品的 版本(例如:fast car ).
每个版本都有一个 parts 的列表(例如:color)。
每个部分都有多个值(例如:红色)。
<strong>版本</strong> <strong>部分</strong> <strong>PART_VALUE</strong>
版本 1 第 1 部分 PART_VALUE1
版本 1 第 2 部分 PART_VALUE2
版本 1 第 3 部分 PART_VALUE3
版本 2 第 2 部分 PART_VALUE2
版本 2 第 3 部分 PART_VALUE3
VERSION2 <strong>PART4</strong> <strong>PART_VALUE4</strong>
版本 3 第 1 部分 PART_VALUE1
版本 3 第 2 部分 PART_VALUE2
版本 3 第 3 部分 <strong>PART_VALUE4</strong>
现在我想 select - 在 Fragmentator 或其他一些复选框中 -
Version1 和 Version2 结果应该是:
"ONLY DIFFENCES BETWEEN VERSION1 AND VERSION2"<br>
版本 1 第 1 部分 PART_VALUE1
版本 2 第 4 部分 PART_VALUE4
或在 selecting Version1 和 Version3 之后,结果应该是:
"ONLY DIFFENCES BETWEEN VERSION1 AND VERSION3"<br>
版本 1 第 3 部分 PART_VALUE3
版本 3 第 3 部分 PART_VALUE4
这是一个 M 查询,它应该可以满足您的要求:
(V1, V2) =>
let
Source = MyTable,
First = Table.SelectRows(Source, each ([VERSION] = V1)),
Second = Table.SelectRows(Source, each ([VERSION] = V2)),
#"First Unique" = Table.NestedJoin(First,{"PART", "PART_VALUE"},Second,{"PART", "PART_VALUE"},"Second",JoinKind.LeftAnti),
#"Second Unique" = Table.NestedJoin(Second,{"PART", "PART_VALUE"},First,{"PART", "PART_VALUE"},"First",JoinKind.LeftAnti),
Combine = Table.Combine({#"First Unique", #"Second Unique"}),
#"Removed Columns" = Table.RemoveColumns(Combine,{"Second", "First"})
in
#"Removed Columns"
这可能吗?
我有一个 table,其中有一列包含产品的 版本(例如:fast car ). 每个版本都有一个 parts 的列表(例如:color)。 每个部分都有多个值(例如:红色)。
<strong>版本</strong> <strong>部分</strong> <strong>PART_VALUE</strong>
版本 1 第 1 部分 PART_VALUE1
版本 1 第 2 部分 PART_VALUE2
版本 1 第 3 部分 PART_VALUE3
版本 2 第 2 部分 PART_VALUE2
版本 2 第 3 部分 PART_VALUE3
VERSION2 <strong>PART4</strong> <strong>PART_VALUE4</strong>
版本 3 第 1 部分 PART_VALUE1
版本 3 第 2 部分 PART_VALUE2
版本 3 第 3 部分 <strong>PART_VALUE4</strong>
现在我想 select - 在 Fragmentator 或其他一些复选框中 - Version1 和 Version2 结果应该是:
"ONLY DIFFENCES BETWEEN VERSION1 AND VERSION2"<br>
版本 1 第 1 部分 PART_VALUE1
版本 2 第 4 部分 PART_VALUE4
或在 selecting Version1 和 Version3 之后,结果应该是:
"ONLY DIFFENCES BETWEEN VERSION1 AND VERSION3"<br>
版本 1 第 3 部分 PART_VALUE3
版本 3 第 3 部分 PART_VALUE4
这是一个 M 查询,它应该可以满足您的要求:
(V1, V2) =>
let
Source = MyTable,
First = Table.SelectRows(Source, each ([VERSION] = V1)),
Second = Table.SelectRows(Source, each ([VERSION] = V2)),
#"First Unique" = Table.NestedJoin(First,{"PART", "PART_VALUE"},Second,{"PART", "PART_VALUE"},"Second",JoinKind.LeftAnti),
#"Second Unique" = Table.NestedJoin(Second,{"PART", "PART_VALUE"},First,{"PART", "PART_VALUE"},"First",JoinKind.LeftAnti),
Combine = Table.Combine({#"First Unique", #"Second Unique"}),
#"Removed Columns" = Table.RemoveColumns(Combine,{"Second", "First"})
in
#"Removed Columns"