DAX - 最后两列之间的差异

3

Power BI 您好,我有一个PowerBI报告,其中有1个静态列Object1和值为动态列。我想添加一个计算列来计算最后2列之间的差异,以计算上个月销售额的增加量。请问在PowerBI中如何使用DAX或Power Query实现此操作?谢谢。


你是否期望不断更改“Value”列的数量或名称? - Alexis Olson
嘿,值列的名称将会改变。 - ace_mccloud
1个回答

1
这段代码有些笨重,但我认为它可以实现你想要的功能。
#"Unpivoted Columns" = Table.UnpivotOtherColumns(PreviousStepNameHere, {"Object1"}, "Attribute", "Value"),
#"Filtered Last 2" = Table.SelectRows(#"Unpivoted Columns", each List.Contains(List.LastN(#"Unpivoted Columns"[Attribute], 2), [Attribute])),
#"Added Custom" = Table.AddColumn(#"Filtered Last 2", "Custom", each if List.Contains(List.LastN(#"Unpivoted Columns"[Attribute], 1), [Attribute]) then [Value] else -[Value]),
#"Grouped Rows" = Table.Group(#"Added Custom", {"Object1"}, {{"Value", each List.Sum([Custom]), type number}}),
#"Added Custom1" = Table.AddColumn(#"Grouped Rows", "Attribute", each "Calculated_Column_Difference_Last2_Columns"),
#"Appended Query" = Table.Combine({#"Unpivoted Columns", #"Added Custom1"}),
#"Pivoted Column" = Table.Pivot(#"Appended Query", List.Distinct(#"Appended Query"[Attribute]), "Attribute", "Value")

Unpivot应该保留列的顺序。您可以过滤最后两个,并切换倒数第二个的符号,以在分组和求和时获得差异。将所需的列名称添加为自定义列,命名为Attribute。将其附加回原始的非枢轴表中,然后重新进行枢轴操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接