如何将 PowerBI 钻取转为平铺操作增强易用性
共 1489字,需浏览 3分钟
·
2021-10-22 13:34
钻取,是刚刚入门 BI 的小伙伴觉得 BI 很神奇的关键特征之一,但成为专家之后,你会发现,钻取需要用户有 BI 的概念,对于普通用户不够友好,对此,我们有两个解决方案,本文来描述第一个解决方案。
钻取的效果
鼠标右键可以不断向下钻取,如下所示:
从年到月份,从月份到日,形成了一个层级结构。
当用户点击鼠标右键的时候,问题在于:多出来了一种交互操作。
将钻取完全展开
先来看一个效果:
这里将原有的钻取结构,拆分成三套结构,如下:
按年的趋势
按月份的趋势
按日的趋势
且满足:
如果用户没有做任何选择,那么:
默认显示最后一年的月份趋势;
默认显示最后一个有数据月份的日趋势。
如果用户选择了某年,但没有选择月份,那么:
显示该年下面的月份趋势;
默认显示该年下面最后一个有数据月份的日趋势。
如果用户选择了某年,且同时又选择了某月,那么:
显示该月下面的日趋势。
实现方法
根据以上描述,可以分析:
需要度量值进行控制,来判断用户的选择;
在合理的选择下,返回所需的结果。
度量值如下:
KPI.ByYearSelected =
IF(
ISFILTERED('Calendar'[YearName] ) || ISFILTERED('Calendar'[YearNumber] ) ,
[KPI] ,
CALCULATE(
[KPI] ,
'Calendar'[YearNumber] = MAXX( ALL( 'Calendar'[YearNumber] ) , [YearNumber] )
)
)
用该度量值可以控制月份趋势图的显示,再构造度量值如下:
KPI.ByYearMonthSelected =
VAR vYear = SELECTEDVALUE(
'Calendar'[YearNumber] ,
MAXX( ALL( 'Calendar'[YearNumber] ) , [YearNumber] )
)
VAR vMonth = SELECTEDVALUE(
'Calendar'[MonthNumber] ,
CALCULATE( LASTNONBLANK( ALL('Calendar'[MonthNumber] ) , [KPI] ) ,
'Calendar'[YearNumber] = vYear , ALL( 'Calendar' )
)
)
RETURN
CALCULATE( [KPI] ,'Calendar'[YearNumber] = vYear ,'Calendar'[MonthNumber] = vMonth )
用该度量值可以控制日趋势图的显示。
总结
PowerBI 的原生特性很多都存在优化空间,以及借助 DAX 驱动可视化有更好的表现。在这方面,我们已经用独到的方法解密了 DAX 配合业务应用的所有秘密,希望战略投资 BI 学习的伙伴赶快学习《BI 真经》。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,可以下载本文案例。
Power BI 终极系列课程《BI真经》
BI真经 - 让数据真正成为你的力量
扫码与精英一起讨论 Power BI,验证码:data2021
点击“阅读原文”进入学习中心
↙