帕累托图,二八定律大家都懂得,话不多说。
如下是进行各个省份的用户分析,制作省份用户数的帕累托图。帕累托图最主要的计算指标就是计算累计值,我们看下如何用dax函数一步实现指标计算。
首先计算度量值用户数
USER_NUM = CALCULATE(
DISTINCTCOUNTNOBLANK('订单表'[user_id]))
然后我们来计算度量值累计用户数占比
累计用户占比1 =
var currentnum = [USER_NUM]
var accumulateduser = CALCULATE([USER_NUM],
filter(ALL('用户表'[prov_name]),[USER_NUM]>=currentnum))
var allusers = calculate([USER_NUM],all('用户表'[prov_name]))
return DIVIDE(accumulateduser,allusers)
我们来解读一下,利用var变量存储当前行的用户数,再利用一张虚拟表来计算累计用户数,ALL函数返回非重复的类别组成的单列表,[USER_NUM]再该表中逐行运算并currentnum进行比较,对于返回结果为TRUE的行进行保留。最后利用累计值跟总和的比例计算占比。
让我们来看下最终展示: