【问题标题】:DAX calculating running sum of columnDAX计算列的运行总和
【发布时间】:2020-02-17 15:29:37
【问题描述】:

我已经尝试了网上找到的各种解决方案(通常都一样),但没有任何效果。
正如https://community.powerbi.com/t5/Desktop/Issue-with-Running-Total/td-p/310720
中所建议的那样 我尝试使用日期列作为参考

然后我在 Power Query 中创建了一个索引列并将其用作参考

如您所见,它根本不起作用:
从第一个值(37 800.68 欧元)开始,我没有得到一个运行总和,而是得到一个全局总和。

我也尝试过创建一个快速新度量,选择Running Total选项(查看Power BI自动生成的完整函数),然后用图表显示结果在报告窗口中,但结果再次没有意义(我只是得到了我想要总结的字段的副本......)

更新

我实施了@sigdoug 的建议,但得到以下信息

这只是将以下值添加到列Amount 中的每个元素,而忘记前一个值。

我所说的运行总和的意思是更新之前计算的总和。

我应该得到以下值:
37 800.68
35,845.11
35,348.57
35,347.57
...

有人可以帮我解决这个问题吗?谢谢

【问题讨论】:

    标签: dax cumulative-sum


    【解决方案1】:

    对不起,安德里亚,我实际上应该对此进行更大的测试(并正确阅读问题)。以下将解决您的问题,将其添加为计算列:

    SUMX(FILTER('Table','Table'[Column1<=EARLIER
    ('Table'[Column1])),'Table'[Column2])
    

    column1 是您的索引,column2 是您每次要添加的值。

    【讨论】:

    • 感谢您的回答,但有一些不起作用:您的第 2 点)已经到位;第 3 点)不会产生累计。也许您的意思是 +'Table'[Column2] 应该放在 LOOKUPVALUE 函数中,但即使在这种情况下,它也不会产生运行总计
    • 否lookupvalue函数不接受加法,必须在该函数之外。但是,它应该在“if”公式中,这将从先前的索引值中获取先前的值(我已经编辑了答案以反映)。检查数据集中的索引列,以确保它的顺序正确。我刚刚运行了一个虚拟数据集来向您展示这项工作,如果您希望我向您发送链接,请告诉我。
    • 看起来我们对 running sum 有不同的定义。我编辑了帖子ì,以确保每个人都明白我的意思
    • 对不起安德里亚!我的错,你完全正确。答案已更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2018-10-25
    • 1970-01-01
    相关资源
    最近更新 更多