PowerBI DAX 自定义格式字符串

PowerBI战友联盟

共 591字,需浏览 2分钟

 · 2021-01-19

PowerBI 中对数据设置格式是一个常见的需求。这里要使用自定义格式字符串。

PowerBI DAX 的格式化字符串并不是一个简单的话题,我们用一个篇章来介绍其中的规律。后续的内容会进一步扩展到复杂的应用中。

什么是自定义格式字符串

格式字符串,是用来指定值显示的方式的。值可以是数字,文本,日期等。

例如,有一个数字是:12345.67892,我们想显示成:12,345.69,这有两种做法:

  • 第一种方法,将原有值改写成字符串,那么结果是这个字符串;

  • 第二种方法,将原有值改变显示样式,那么结果还是原来的值。

它们的区别在于:

  • 第一种方法,可以用 FORMAT 函数实现,在表格导出时是文本,无法在 Excel 中继续处理;

  • 第二种方法,使用系统内置的格式,在表格导出时将保持原有值,可以在 Excel 中继续运算。

Excel 中的格式化字符串

格式化字符串,不是一个新技术,而有着成熟的历史,在 Excel 中就有这个内容,如下:

可以看到这些就是自定义数字格式。

Excel 对自定义数字格式的三大支持:

  • 第一种:自定义格式

  • 第二种:三段式支持,包括:>0;=0,<0 分别显示的格式

  • 第三种:条件支持,包括:颜色和大小范围

对于第三种,很多人并不知道,如下:

这里的数字 -21 的颜色并非设置所致,而是自定义数字格式,如下:

可以看出,自定义数字格式,有强大的能力,其本质在于:

不改变值的结果下,设置其显示的样式。

PowerBI 对自定义数字格式的支持

PowerBI 提供了对自定义数字格式的支持,但仅仅限于前两种形态,即:

  • 第一种:自定义格式

  • 第二种:三段式支持,包括:>0;<0;=0 分别显示的格式

在 2020年12月 版本(含)后的 Power BI Desktop 中,可以直接在度量值的设置文本框中改写。如下:

如果将这里设置为:【0.0】,那么有:

如果将这里设置为:【#,#0.0】,那么有:

如果将这里设置为:【#,#0.0;(#,#0.0);】,当 [KPI] = 0 时,有:

当 [KPI] < 0 时,有:

细致的伙伴可能会发现:这里是不能控制颜色的,没有错。对于颜色的控制,需要使用条件格式来进行。

综上,

  • 第一种:自定义格式

  • 第二种:三段式支持,包括:>0;<0;=0 分别显示的格式

要注意的是:第二种的不同段间显示的设置对应于与 0 的大小关系,第一段是 >0 ,第二段是 <0 ,第三段是 =0 。

又如:

自定义数字格式还可以轻松设置百分比等格式,各种日期格式也可以设置。

在 PowerBI 中使用自定义数字格式

Excel 作为全球商业智能软件的事实标准,自定义数字格式用于了 Excel 以及 VBA 长达多年,Power BI 中的同样需求必定以同样的方式来实现是非常合理的。那么,Power BI 的自定义数字格式是与 Excel 以及 VBA 的设置一样的。但在功能方面,是 Excel 功能的有限子集。

有了自定义数字格式,这让我们思考一些通用问题:

  • 如何实现千分位分隔符,本文已示范

  • 如何实现百分比,本文已示范

  • 如何实现零值不显示,本文已示范

对 DAX FORMAT 函数熟悉的伙伴可能会思考这与 FORMAT 的区别在哪里,本文已经给出答案,用自定义数字格式的好处有两个:

  • 保持值不变,仅仅改变显示样式,表格数据导出为 .csv 文件后,可以在 Excel 中继续以数字进行计算处理,而非文本;

  • 这种做法相比于 FORMAT 的条件显示不需要多次 SWITCH 判断,有利于性能优化。

在这方面的官方参考文档,严格遵守:

https://docs.microsoft.com/zh-cn/power-bi/create-reports/desktop-custom-format-strings

实战应用

结合上述内容,可以思考:

如何实现 K(千) M(百万) B(十亿)的自动显示切换,效果如下:

该效果非常有用,可以将很小和很大的数字放在一起显示且自动加入合理的缩放单位。即使是制作图表,也可以得到有意义的显示,如下:

提示:可以借助本文的说明 + 计算组 + 官方文档实现,具有全局通用性。

总结

自定义格式字符串,是高级 PowerBI 应用中的基础物件,我们将使用这一特性构建高级能力,因此,理解和掌握自定义格式字符串是这些高级内容的前序内容。

在订阅了BI佐罗讲授的《BI进行时》课程区,除了可以下载本文案例,还可以观看视频讲解。

让数据真正成为你的力量

Create value through simple and easy with fun by PowerBI

Excel BI | DAX Pro | DAX 权威指南 | 线下VIP学习

扫码与PBI精英一起学习,验证码:data2021

PowerBI MVP 带你正确而高效地学习 PowerBI
点击“阅读原文”,即刻开始

浏览 98
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报