计算powerpivot的百分比增长

时间:2016-07-06 12:56:55

标签: excel powerpivot powerbi

这是我的表

公司---- ----年份价

一个---------- 2001 ---- 50

一个---------- 2002 ---- 75

乙---------- 2001 ---- 15

我想使用以下公式计算额外列中的%价格增长

2002年A的%chg =(75-50)/ 50

所以我的新表看起来像这样 公司---- ----年份价格---%CHG

一个---------- 2001 ---- 50 ------ 0

一个---------- 2002 ---- 75 ------的 0.5

乙---------- 2001 ---- 15 -----

由于我是powerpivot和DAX的新手,我不知道如何使用过滤器功能来执行此操作。

请帮帮我。提前致谢

1 个答案:

答案 0 :(得分:0)

这有点棘手,因为Power BI不适合迭代计算。请注意,建议的解决方案可能会导致大数据集出现性能问题:

首先创建一个名为PriorYear的新列:

=CALCULATE(Max([Year]),FILTER(Table1,EARLIER([year]) > [year] && EARLIER([Company]) = [Company]))

之后创建一个名为PriorPrice的列:

=CALCULATE(Max([price]),Filter(Table1,EARLIER([PriorYear]) = [Year] && EARLIER([Company]) = [Company]))

最后创建一个名为PriceRatio的列:

=IFERROR([price]/[PriorPrice]-1,0)

说明: Earlier()是此功能的一个选择不当的名称,因为它几乎与ThisRowsValue()类似。您需要Max([price]),因为您无法对列进行评估。你需要对它应用一些算术。由于只有一个匹配值,因此算术可以是所有内容(也是Min()Sum())。