【问题标题】:Rolling Sum using two columns in Power BI在 Power BI 中使用两列滚动求和
【发布时间】:2020-10-31 21:44:41
【问题描述】:

我有两列包含去年和今年的销售额,还有一个包含我们所处周数的数据列。我想从我们回到的那一周开始计算一个新列中的年度滚动总和直到同一周。

在我的例子中,如果我今年第 2 周,我的滚动总和将是去年从第 2 周到第 52 周的所有销售额加上今年到第 2 周的销售额,包括!!

这是我的表格和结果的 excel 示例:

【问题讨论】:

标签: sum powerbi multiple-columns dax


【解决方案1】:

假设您的数据如下所示

Table
+------+----------+-------+
| week | sales_ly | sales |
+------+----------+-------+
| 1    | 65       | 100   |
+------+----------+-------+
| 2    | 93       | 130   |
+------+----------+-------+
| 3    | 83       | 134   |
+------+----------+-------+
| 4    | 3083     | 59    |
+------+----------+-------+
| 5    | 30984    | 39    |
+------+----------+-------+
| 6    | 38       | 580   |
+------+----------+-------+
| 7    | 28       | 94    |
+------+----------+-------+
| 8    | 48       | 93    |
+------+----------+-------+
| 9    | 24       | 984   |
+------+----------+-------+
| 10   | 49       | 95    |
+------+----------+-------+

您需要创建两个累积值并在同一度量中将它们相加。

Rolling Sum = 

VAR CurrentYearCumulative = 
    CALCULATE(
        SUM('Table'[sales]),
        FILTER(ALLSELECTED('Table'),'Table'[week] <= MAX('Table'[week] ) )
        )

VAR LastYearCumulative = 
    CALCULATE(
        SUM('Table'[sales_ly]),
        FILTER(ALLSELECTED('Table'),'Table'[week] >= MAX('Table'[week]) )
        )

RETURN

CurrentYearCumulative + LastYearCumulative

输出

【讨论】:

  • 销售额是今年的销售额?
  • @hurop 是的。 sales 是今年的。
  • 你能解释一下你为什么使用 max 吗?
  • 请参考之前分享的链接,在那里他们详细解释了它是如何工作的。我只是复制了他们的逻辑。
  • @hurop 我已经编辑了我的答案以反映您的原始要求。输出与您的问题中概述的输出相同。更改是将过滤器语句中的变量 LastYearCumulative&lt;= 修改为 &gt;=
猜你喜欢
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
相关资源
最近更新 更多