这是一个很通用的问题,在 Power BI Desktop 2021 年 9 月的更新后,我们有了解决这个问题的完美方法,本文给出详细说明。
问题重述
在 PowerBI 原生可视化方面,一直有个小 BUG 的存在,那就是 Y 轴不能正常良好显示,如下:
如上图所示,在 5 月柱子上的数字显示,明显表现得空间不足,它顶住了整个图表的绘图区,且同时与柱子形成了叠加,导致这种显示不够完美。
问题分析
这个问题是由于 Y 轴刻度范围无法按照一个合理的比例调整,如果仔细观察本问题,可以发现,Y 轴按照 10 w 一个单位进行扩展,那么对于 5 月的值 480051 来说,这个值太大了,导致会出现交叉叠加的问题,这个问题非常影响美观,所以必须要解决。
在 2021 年 9 月的更新后,Power BI Desktop 可以支持用度量值设置 Y 轴范围,因此,只需要我们自己给出一个合理的动态 Y 轴范围,此问题就可以在理论上得到解决。
解决方案
根据以上分析,创建度量值如下:
代码语言:javascript复制Chart.Y =
MAXX( VALUES( 'Calendar'[MonthName] ) , [View.KPI] ) * 2
其思路是找到 X 轴对应的最大的柱子值再乘以一个系数,这里用了 2,特意来看下效果,如下:
有了充分的空间,可以把 Y 轴取消显示,则更加精简,如下:
现在的效果是不是好多了,它是完美的显示。改成折线图,也可以完美显示,如下:
这里做了一些辅助设置,如下:
- 用形状做了图表的衬底,更有空间感。
- 取消了 Y 轴刻度及网格的显示,更简单利落。
- 加入了一条恒线(不是横线),来显示 X 轴。
总结
这里完美解决了 Y 轴的问题,但还有两个不完美的地方,如下:
- X 轴的恒线太粗了,但原生 Power BI 只能这样,怎么办?
- 显示的值太多太密导致有的被自动隐藏了,需要显示特征点,怎么办?
上述两点都可以得到解决,我们将在后续文章再给出解决方案。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,可以下载本文案例。