Power BI解决多指标批量展示问题:字段参数、计算组以及手工表

前期的字段参数相关文章

Power BI字段参数基础使用(以存货分析为例)

Power BI字段参数的条件格式如何设置

Power BI字段参数用来合并相似指标

Power BI字段参数的辅助线如何设置

Power BI字段参数如何解决分组和查找问题

指标多是常态,以零售业为例,和人相关的指标有进店率、客流数、成交率、连带率(客单量)、客单价,和货相关的销售折扣、库存周转天数、售罄率、品类销存占比、齐码率等等。

Power BI字段参数可以解决指标的筛选问题(不了解字段参数可以参考最上方的几个链接),切片器选定任意指标进行指定显示。

但是,实际的分析工作中,你不会仅仅展示基础指标,还需要比较指标,数据在比较中产生意义。比较可能是和同期的比较,维度内部的比较(比如排名)等。以排名为例,有100个指标,传统模式下,你需要新建100个排名度量值。

手工一个个新建无疑是非人性的。计算组可以解决类似度量值的合并问题(不了解计算组可以参考采总的这篇文章:PowerBI发布重磅更新,一文带你熟悉计算组怎么用)。通过计算组,100个指标的排名仅需要一行排名公式实现,计算组不指定具体是哪个指标排名,当你需要排名的时候,排名出现。

计算组在Power BI体现为一个表(下图左侧),字段参数也体现为一个表(下图右侧),但是二者机理不同、作用不同。

把字段参数和计算组结合,既解决了多指标的显示问题,又解决了多指标的同类计算问题。下图是二者合璧的矩阵显示效果。

本文示例中,矩阵的行为维度,列为计算组,值为字段参数。计算组此处分别展示具体的值和排名。

如此操作,既显示了一级指标,又显示了比较指标。随后你遇到一个新的问题:信息密度低。在指标数量增长的情况下,矩阵会非常的长。把排名这样的二级指标放在条件格式则会避免此种情况(参考:Power BI条件格式:排名四招),圆圈的颜色同时形成一种热力感觉,一眼看出每个店铺哪项指标优秀,哪项指标落后。

传统模式下,你需要为每个指标新建一个条件格式排名图标。已知计算组可以批量排名(看作一种文本),那么可以批量生成多指标的图标吗?如果可以新建,计算组的图标可以放入条件格式图标的字段吗?这个问题有待探讨。

计算组如果不能实现图标的批量新建,可以把字段参数作为中转进行批量图标新建吗?

如果字段参数能批量新建图标,必然能批量排名。但是上文我们使用计算参数进行的批量排名,潜台词是字段参数无法批量排名(我的认知范围,如读者有办法,欢迎提出)。以下度量值看上去实现了批量排名:

代码语言:javascript
复制
字段参数批量排名 =
SWITCH (
    VALUES ( '字段参数指标表'[指标] ),
"销售业绩", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.销售业绩] ),
"业绩达成率", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.业绩达成率] ),
"销售折扣", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.销售折扣] ),
"销量", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.销量] ),
"销售笔数", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.销售笔数] ),
"客单量", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.客单量] ),
"客单价", RANKX ( ALLSELECTED ( '店铺资料'[店铺名称] ), [M.客单价] ),
    BLANK ()
)

非常遗憾,这种方案只能在指标单选的情况下发生作用,多选则失效(也许未来微软会改进)。

那么,排名图标只能一个个老老实实新建吗?也不是,我们可以回归最原始的方式,忘记字段参数,忘记计算组,新建一个包含所有指标名称的手工表:

如下度量值为手工表的多指标排名:

条件格式图标调用该排名:

与之需要配套的是,值也需要使用手工表方式切换:

矩阵字段如下设置:

矩阵条件格式如下设置:

如此,则形成一个高信息密度矩阵:

手工表方式的缺点是,无法实现按指标排序。

综上,在当前的软件条件下,多指标的展示情景中,我建议使用字段参数进行一级指标切换,显示复杂的二级指标使用计算组与字段参数结合,排名这样的简约二级指标使用条件格式图标和字段参数结合。针对条件格式图标度量值批量生成,可尝试使用PBI催化剂(李伟坚老师开发,参考:王者回归,PBI催化剂2.0发布,回归初心,个人永久性免费使用全部功能)的批量创建扩展度量值功能生成,避免手工作业。