Power BI字段参数合并同类型指标

2022-07-13 15:51:54 浏览数 (1)

业绩、成交笔数、销量、库存量等为主指标,为判断指标的健康度,我们常常需要横向比较,设置辅助指标,比如主指标在各店铺的排名,比如指标比同期的增长率。

假设要对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 () )

这里假设只对业绩和笔数计算增长,其他的显示空白。折线和柱形组合图如下设置:

选择业绩指标,柱形和折线正常显示:

选择客单价,只有柱形:

有人可能会问,为什么借助字段参数的索引进行切换,而不是直接的指标名称?读者可以自行尝试用指标名称切换是否可行。

本文的技巧还有更大的用武之地,后续会讲到。


bi

0 人点赞