我想将行的前7个值相加为一个度量,如下所示:
| Wk_number | Value A | Measure | Array |
-------------------------------------------
| 01 | 1 | N/A# | N/A# |
| 02 | 1 | 1 | {01} |
| 03 | 10 | 2 | {01-02} |
| 04 | 3 | 12 | {01-03} |
| 05 | 5 | 15 | {01-04} |
| 06 | 10 | 20 | {01-05} |
| 07 | 1 | 30 | {01-06} |
| 08 | 4 | 31 | {01-07} |
| 09 | -10 | 34 | {02-08} |
| 10 | 3 | 26 | {03-09} |
| 11 | 2 | 18 | {04-10} |
etc...
我添加了数组列只是为了说明如何组成总和的示例,请注意,从wk09开始,它不仅仅是一个运行总计。
如何使用DAX语句执行此操作?
答案 0 :(得分:1)
两种方法:您可以创建计算列或度量。
对于专栏:
=CALCULATE(SUM([Value A]),FILTER(Table,Table[Wk_number]<EARLIER(Table[Wk_number]) && Table[Wk_number] >= (EARLIER(Table[Wk_number])-7)))
对于度量,它是一个非常相似的公式,但我们不使用EARLIER(),而是使用MAX():
=CALCULATE(SUM([Value A]),FILTER(ALL(Table3),Table3[Wk_number]<MAX(Table3[Wk_number]) && Table3[Wk_number] >= (MAX(Table3[Wk_number])-7)))
以下是结果的屏幕截图。根据数学计算,示例表中的一些数字似乎已关闭: