DAX - 最后两列之间的差异

DAX - Difference between Last 2 columns

您好,我有一个 PowerBI 报告,其中有 1 个静态列 Object1 和值作为动态列。我想添加一个计算列来计算最后 2 列之间的差异,这是为了计算上个月销售额的增长。知道如何使用 DAX 或 Power Query 在 PowerBI 中完成此操作吗?谢谢

这有点笨拙,但我认为它可以满足您的需求。

#"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 的自定义列。将其追加回原来的未旋转 table,然后重新旋转。