在Power BI中用DAX新建列的方式进行累计求和
DAX 新建列来累计求和
Power BI有两种方式进行累计求和
第一种:在Power query中用公式,类似for循环
第二种:用DAX以新建列的方式
下面详细介绍第二种方式
累计求和
若原始数据:表名test
date | nums |
---|---|
2020-08 | 1 |
2020-09 | 1 |
2020-10 | 1 |
2020-11 | 1 |
2020-12 | 1 |
累加后:
date | nums | cumsum_nums |
---|---|---|
2020-08 | 1 | 1 |
2020-09 | 1 | 2 |
2020-10 | 1 | 3 |
2020-11 | 1 | 4 |
2020-12 | 1 | 5 |
在excel很容易实现。但在power bi里有点复杂。
DAX 新建列
为什么度量函数可以用在普通表中去新建列。
度量值是用于分组进行汇总,因为在表里自带分组。
DAX代码:
cumsum_nums =
SUMX(
FILTER(test,test[date<=EARLIER(test[date])),
test[nums])
功能类似以下伪代码,用了python和SQL的某些语法,混合使用介无介意。
for date_earlier in table[date]:
sumx(
select nums
from table
where date<=date_earlier )
DAX函数 Filter
筛选函数,逐行筛选,所以会有遍历的功能
DAX函数 EARLIER
EARLIER 主要用于计算的列的上下文。
换句话讲就是表示当前行,或者每一行
DAX函数 SUMX
迭代累加