「DAX函数累加求和的方法
大家都知道,DAX函数中的度量值,自身已经具备筛选功能,但有时我们不希望被自动筛选,并且还要进行逐级的累加求和,这在DAX函数中怎么实现呢?
例如我们有3款产品,从21年3月份开始持续销售,我们按日期维度展示销量;
首先创建度量值,销量 = sum('销售数据'[销售数量])
按日期维度制作趋势图,无论是“月度”或者“季度”,度量值都会自动计算当前日期维度筛选后的总量;
按月度统计
按季度统计
当我们希望算累加值时,SUM函数就无法单独满足了,此时需要同时使用Calculate函数,All函数,Filter函数;
Calculate函数【作用:筛选,返回:按一定条件筛选后的值】
语法:Calculate(度量值 or 表达式,条件)
ALL函数【作用:清除筛选,返回:清除筛选后的表格或列】
语法:ALL('表名称'[列名称])
Filter函数【对筛选的表进行横向的逐行扫描,也叫迭代函数】
语法:Filter(表,条件)
综合以上几个函数,我们再创建度量值进行累加求和
累加销售 = CALCULATE('度量值'[销量],FILTER(ALL('销售数据'[销售日期]),'销售数据'[销售日期] <= MAX('销售数据'[销售日期])))
累加销售趋势
在Excel表中,累加求和只需要新增一列,然后在每一个单元格写入求和公式,这在少量数据时很容易实现!
但进行几百万,几千万的大数据分析时,Excel就无法满足了,并且Excel本身录入很多公式时,会非常占用内存,导致Excel使用起来又卡又慢。当你学会使用以上DAX函数后,就可以快速在Power BI中得到结果;
当然,有时候累加求和也只是一个中间值,实际数据分析中,我们会以累加求和的值作为分母,计算累计占比,然后通过不同维度进行比例分析。
赞 (0)