使用计算组进行极值缩放处理
有时候在图表上我们可能会看一些极大或极小的值,但是它们并不是因为数据错误造成的,有可能是因为某些原因业绩突然爆长,比如新东方最近股票就涨了六倍不止,也有可能是因为业绩因为疫情突然下滑,比如我朋友公司因为上海疫情已经加续两个月工资只发两千多了,然而他房租都要三千多呢。
先来看样例数据,样例数据中d,f明显远远高于其他数据的值,这样也缩小了其他数据间的差异,比如g的值只有50,明明只是a的一半,却因为d、f的数据太大,图上反而缩小了他们之间的差异。
方法一
针对上述数据,最简单粗爆的方法就是给大于某个值的数据全部显示为一个固定值,比如我们设定大于150就显示为150,然后将真实值放到工具提示。
v.show1 =
IF( [v] > 150, 150, [v])
方法二
上述方法简单且直接,便可能不够智能,我们应该可以动态控制极大值缩放的倍数。
新建一个参数,然后添加到页面
v.show2 =
var _min =
CALCULATE( MIN('表'[value]), ALL('表'[name] ) )
var result =
IF( [v] > _min * 5, [v]/[参数 值], [v] )
return
result
这里并没有对极大值显示为统一的数值,而是统一进行倍数缩放。到这里并不能算结束,比如对于不了解数据的,可能一眼看上去就是觉得d只有180,所以接下来就是显示正确的数据标签,这个其实前面也有过介绍,有兴趣的可以参考以下文章
PowerBI自动切换中英文单位,
控制计算组中的格式表达式
控制度量值显示格式
打开Tabular Editor,创建计算组,这里格式化代码也很简单,但是需要注意的是代码前面是有加四个双引号的,这是因为不加的话会造成格式错误,
当然也可以像SQLBI中给出的解决方案那样
SUBSTITUTE(format([v], "#,#"), "0", " ")
效果如下
总结
虽然官方已经出来了字段参数功能,但是它和计算组的应用场景还是有所不同的,并不能完全替代计算组,不管是计算组还是字段参数,能更好地为业务服务就行。
另外,6月的更新中,国际版正式加入了添加报表到PPT的功能,虽然这个功能很方便,但很多客户其实更想要的是可以直接修改原数据中……
本篇文章来源于微信公众号: PowerBI木小桼