熟悉power bi 或者在日常工作有应用过该工具的小伙伴应该都遇到过以下场景
业务用户要求生成一个柱形图显示不同类别的数据比对情况, 这个时候你会想到在power bi的图表功能区有一个簇状柱形图可以实现这个需求,然后你就生成了以下柱形图
在这里插入图片描述
在这里插入图片描述

解决后,你以为工作完成了开始开心的摸鱼。结果这个时候业务用户指着图拍着脑袋说 我觉得单纯看各类数据对比意义不是很大! 我想起来我们还有个要求的目标值,你能不能帮我把目标放上去,这样就清晰了! 听到这个需求你白了眼心想:早特么你不说?
你想了想在柱形图的上方加一条目标线应该这可以解决了,在power bi 图表功能区有一个折线和簇状组合图可以用。
在这里插入图片描述
在这里插入图片描述

你实现了以上效果,想着这下目标和数值都有了能开心摸鱼了,结果这个时候业务用户跑过来质问你为什么上图中实际值是0.22% 却高于目标值 0.36% 。 并把你大骂一顿。
你满头大汗仔细看着图表是不是哪里有问题, 这个时候你发现原来是右边的Y坐标轴并没有从 0开始而左边的Y轴是从0开始的,这样就会导致该问题。
你心想简单我改一下坐标轴起点就可以了,并找到设置Y轴起点值的选项.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

改完后的你发现之前提到的明明小于目标值却高于目标值的问题没有了。但是为了避免再次挨骂,你决定检查下有无其他问题。
你发现实际值虽然没有像之前一样,但是0.22% 和 0.36% 几乎接近持平也是不对的!肯定影响摸鱼,要想办法去解决! 仔细想了下可能是两边坐标Y轴的最大值也不一致导致的,那能不能让起点和最大值都保持一致呢? 最大值我们是不能去固定的啊! 你想起老师傅的话语用动态值去处理!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你先用DAX语法编写以下计算值,去获取分类中最高柱子的数值,因为其他数值肯定小于该值。
度量值 = VAR tb1 = SUMMARIZE(‘数据表’, ‘数据表’[分类],“sum_s”, SUM(‘数据表’[数值]))
var max_1 = MAXX(tb1, [sum_s])
return max_1
然后在编写坐标轴最大值的动态判断数值, 判断依据如果目标值大于度量值,那么坐标值就是目标值,反之则是度量值。
实际vs目标 = IF([目标]> [度量值], [目标], [度量值])
把编写好的计算值 实际vs目标 放进最大值旁的fx中即可,大功告成!
在这里插入图片描述

最后最后一定要帮用户优化下显示啊! 不然还会挨骂的!!!
关注保安队长,学习更多Power BI 小知识~

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐