PowerBI DAX 的格式化字符串并不是一个简单的话题,我们用一个篇章来介绍其中的规律。后续的内容会进一步扩展到复杂的应用中。
格式字符串,是用来指定值显示的方式的。值可以是数字,文本,日期等。
例如,有一个数字是:12345.67892,我们想显示成:12,345.69,这有两种做法:
它们的区别在于:
格式化字符串,不是一个新技术,而有着成熟的历史,在 Excel 中就有这个内容,如下:
可以看到这些就是自定义数字格式。
Excel 对自定义数字格式的三大支持:
对于第三种,很多人并不知道,如下:
这里的数字 -21 的颜色并非设置所致,而是自定义数字格式,如下:
可以看出,自定义数字格式,有强大的能力,其本质在于:
不改变值的结果下,设置其显示的样式。
PowerBI 提供了对自定义数字格式的支持,但仅仅限于前两种形态,即:
在 2020年12月 版本(含)后的 Power BI Desktop 中,可以直接在度量值的设置文本框中改写。如下:
如果将这里设置为:【0.0】,那么有:
如果将这里设置为:【#,#0.0】,那么有:
如果将这里设置为:【#,#0.0;(#,#0.0);】,当 [KPI] = 0 时,有:
当 [KPI] < 0 时,有:
细致的伙伴可能会发现:这里是不能控制颜色的,没有错。对于颜色的控制,需要使用条件格式来进行。
综上,
要注意的是:第二种的不同段间显示的设置对应于与 0 的大小关系,第一段是 >0 ,第二段是 <0 ,第三段是 =0 。
又如:
自定义数字格式还可以轻松设置百分比等格式,各种日期格式也可以设置。
Excel 作为全球商业智能软件的事实标准,自定义数字格式用于了 Excel 以及 VBA 长达多年,Power BI 中的同样需求必定以同样的方式来实现是非常合理的。那么,Power BI 的自定义数字格式是与 Excel 以及 VBA 的设置一样的。但在功能方面,是 Excel 功能的有限子集。
有了自定义数字格式,这让我们思考一些通用问题:
对 DAX FORMAT 函数熟悉的伙伴可能会思考这与 FORMAT 的区别在哪里,本文已经给出答案,用自定义数字格式的好处有两个:
在这方面的官方参考文档,严格遵守:
https://docs.microsoft.com/zh-cn/power-bi/create-reports/desktop-custom-format-strings
结合上述内容,可以思考:
如何实现 K(千) M(百万) B(十亿)的自动显示切换,效果如下:
该效果非常有用,可以将很小和很大的数字放在一起显示且自动加入合理的缩放单位。即使是制作图表,也可以得到有意义的显示,如下:
提示:可以借助本文的说明 + 计算组 + 官方文档实现,具有全局通用性。
自定义格式字符串,是高级 PowerBI 应用中的基础物件,我们将使用这一特性构建高级能力,因此,理解和掌握自定义格式字符串是这些高级内容的前序内容。
在订阅了BI佐罗讲授的《BI进行时》课程区,除了可以下载本文案例,还可以观看视频讲解。