【问题标题】:calculate percentage increase in powerpivot计算 powerpivot 的百分比增加
【发布时间】:2016-07-07 17:58:16
【问题描述】:

这是我的桌子

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

A---------2001----50

A---------2002----75

B----------2001----15

我想使用以下公式计算附加列中的价格上涨百分比

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

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

A---------2001----50-----0

A---------2002----75------0.5

B---------2001----15-----

由于我是 powerpivot 和 DAX 的新手,我不知道如何使用过滤器功能来做到这一点。

请帮助我。提前致谢

【问题讨论】:

    标签: excel powerpivot powerbi


    【解决方案1】:

    这有点棘手,因为 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())。

    【讨论】:

    • 非常感谢您的帮助。如果 Power BI 不适合迭代计算,那么什么才是理想的?
    • 100% 准确:Power BI 是进行此类分析的好工具,但正确的方法是使用度量。您需要将您的年份定义为适当的日期并使用DATEADD() 函数创建“LastYearPrice”度量。这将允许您构建所需的 PriceRatio 度量。这种方法比前面提到的方法需要更多的工作和专业知识。也许这有帮助:powerpivotpro.com/2014/01/…
    • 谢谢你:)。我调查一下。您能否检查一下这篇文章并帮助我。那将是我处理数据的下一步。 stackoverflow.com/questions/38246651/…
    猜你喜欢
    • 2021-11-01
    • 2021-06-30
    • 2014-08-07
    • 2010-10-13
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多