大家都知道,DAX函数中的度量值,自身已经具备筛选功能,但有时我们不希望被自动筛选 , 并且还要进行逐级的累加求和,这在DAX函数中怎么实现呢?
例如我们有3款产品,从21年3月份开始持续销售,我们按日期维度展示销量;
首先创建度量值,销量 = sum('销售数据'[销售数量])
按日期维度制作趋势图,无论是“月度”或者“季度”,度量值都会自动计算当前日期维度筛选后的总量;

按月度统计

【「Power BI」DAX函数:累加求和的方法】按季度统计
当我们希望算累加值时 , SUM函数就无法单独满足了,此时需要同时使用Calculate函数,All函数,Filter函数;
Calculate函数【作用:筛?。祷兀喊匆欢ㄌ跫秆『蟮闹怠?/b>
语法:Calculate(度量值 or 表达式,条件)
ALL函数【作用:清除筛?。祷兀呵宄秆『蟮谋砀窕蛄小?/b>
语法:ALL('表名称'[列名称])
Filter函数【对筛选的表进行横向的逐行扫描,也叫迭代函数】
语法:Filter(表,条件)
综合以上几个函数,我们再创建度量值进行累加求和
累加销售 = CALCULATE('度量值'[销量],FILTER(ALL('销售数据'[销售日期]),'销售数据'[销售日期] <= MAX('销售数据'[销售日期])))

累加销售趋势
在Excel表中,累加求和只需要新增一列 , 然后在每一个单元格写入求和公式,这在少量数据时很容易实现!
但进行几百万,几千万的大数据分析时,Excel就无法满足了 , 并且Excel本身录入很多公式时,会非常占用内存,导致Excel使用起来又卡又慢 。当你学会使用以上DAX函数后,就可以快速在Power BI中得到结果;
当然,有时候累加求和也只是一个中间值 , 实际数据分析中,我们会以累加求和的值作为分母 , 计算累计占比,然后通过不同维度进行比例分析 。
