业绩、成交笔数、销量、库存量等为主指标,为判断指标的健康度,我们常常需要横向比较,设置辅助指标,比如主指标在各店铺的排名,比如指标比同期的增长率。
假设要对6个指标排名,常规状态下需要新建6个排名度量值。这个过程非常繁琐,利用Power BI 2022年5月新增的字段参数功能,可以实现辅助指标归并,一个度量值排名所有指标(不了解字段参数的读者可参考此文 Power BI字段参数用于存货分析)
新建好指标字段参数后,可以看到Power BI自动新增了一个表,表中有三列,其中一列是索引(默认不叫“索引”,列名可以双击手动修改),如下图所示:
新建一个多指标排名度量值,SWITCH函数依据字段参数中的索引,对排名的指标进行切换:
代码语言:javascript复制排名 =
VAR _RANK =
SWITCH (
SELECTEDVALUE ( '指标'[索引] ),
0, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.销售业绩] ),
1, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.销售笔数] ),
2, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.客单量] ),
3, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.客单价] ),
4, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.销售折扣] ),
5, RANKX ( ALL ( '店铺资料'[店铺名称] ), [M.业绩达成率] ),
BLANK ()
)
RETURN
IF ( HASONEVALUE ( '店铺资料'[店铺名称] ), _RANK, BLANK () )
把店铺名称,指标(字段参数)和新建的排名度量值放入表格中:
以下动图可以看到,排名自动按照指标变化进行切换:
类似的,可以把动态排名放入条件格式(参考此文:Power BI字段参数情境下的条件格式设置):
再举个增长率的例子:
代码语言:javascript复制增长率 =
VAR g =
SWITCH (
SELECTEDVALUE ( '指标'[索引] ),
0, DIVIDE ( [M.销售业绩] - [M.同期业绩], [M.同期业绩] ),
1, DIVIDE ( [M.销售笔数] - [M.同期销售笔数], [M.同期销售笔数] ),
BLANK ()
)
RETURN
IF ( HASONEVALUE ( '店铺资料'[店铺名称] ), g, BLANK () )
这里假设只对业绩和笔数计算增长,其他的显示空白。折线和柱形组合图如下设置:
选择业绩指标,柱形和折线正常显示:
选择客单价,只有柱形:
有人可能会问,为什么借助字段参数的索引进行切换,而不是直接的指标名称?读者可以自行尝试用指标名称切换是否可行。
本文的技巧还有更大的用武之地,后续会讲到。