在 Power BI 中使用两列的滚动总和
Rolling Sum using two columns in Power BI
我有两列包含去年和今年的销售额,还有一个数据列包含我们所处的周数。我想从我们所在的那一周开始计算新列中的年度滚动总和过去直到同一周。
在我的例子中,如果我今年在第 2 周,我的滚动总和将是去年从第 2 周到第 52 周的所有销售额加上今年到第 2 周的销售额的总和!!
下面是 excel 中的示例,说明我的 table 和结果会是什么样子:
假设您的数据如下所示
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
输出
我有两列包含去年和今年的销售额,还有一个数据列包含我们所处的周数。我想从我们所在的那一周开始计算新列中的年度滚动总和过去直到同一周。
在我的例子中,如果我今年在第 2 周,我的滚动总和将是去年从第 2 周到第 52 周的所有销售额加上今年到第 2 周的销售额的总和!!
下面是 excel 中的示例,说明我的 table 和结果会是什么样子:
假设您的数据如下所示
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
输出