PowerBI DAX 自定義格式字符串

PowerBI 中對數(shù)據(jù)設置格式是一個常見的需求。這里要使用自定義格式字符串。
PowerBI DAX 的格式化字符串并不是一個簡單的話題,我們用一個篇章來介紹其中的規(guī)律。后續(xù)的內(nèi)容會進一步擴展到復雜的應用中。
什么是自定義格式字符串
格式字符串,是用來指定值顯示的方式的。值可以是數(shù)字,文本,日期等。
例如,有一個數(shù)字是:12345.67892,我們想顯示成:12,345.69,這有兩種做法:
第一種方法,將原有值改寫成字符串,那么結(jié)果是這個字符串;
第二種方法,將原有值改變顯示樣式,那么結(jié)果還是原來的值。
它們的區(qū)別在于:
第一種方法,可以用 FORMAT 函數(shù)實現(xiàn),在表格導出時是文本,無法在 Excel 中繼續(xù)處理;
第二種方法,使用系統(tǒng)內(nèi)置的格式,在表格導出時將保持原有值,可以在 Excel 中繼續(xù)運算。
Excel 中的格式化字符串
格式化字符串,不是一個新技術,而有著成熟的歷史,在 Excel 中就有這個內(nèi)容,如下:

可以看到這些就是自定義數(shù)字格式。
Excel 對自定義數(shù)字格式的三大支持:
第一種:自定義格式
第二種:三段式支持,包括:>0;=0,<0 分別顯示的格式
第三種:條件支持,包括:顏色和大小范圍
對于第三種,很多人并不知道,如下:

這里的數(shù)字 -21 的顏色并非設置所致,而是自定義數(shù)字格式,如下:

可以看出,自定義數(shù)字格式,有強大的能力,其本質(zhì)在于:
不改變值的結(jié)果下,設置其顯示的樣式。
PowerBI 對自定義數(shù)字格式的支持
PowerBI 提供了對自定義數(shù)字格式的支持,但僅僅限于前兩種形態(tài),即:
第一種:自定義格式
第二種:三段式支持,包括:>0;<0;=0 分別顯示的格式
在 2020年12月 版本(含)后的 Power BI Desktop 中,可以直接在度量值的設置文本框中改寫。如下:

如果將這里設置為:【0.0】,那么有:

如果將這里設置為:【#,#0.0】,那么有:

如果將這里設置為:【#,#0.0;(#,#0.0);】,當 [KPI] = 0 時,有:

當 [KPI] < 0 時,有:

細致的伙伴可能會發(fā)現(xiàn):這里是不能控制顏色的,沒有錯。對于顏色的控制,需要使用條件格式來進行。
綜上,
第一種:自定義格式
第二種:三段式支持,包括:>0;<0;=0 分別顯示的格式
要注意的是:第二種的不同段間顯示的設置對應于與 0 的大小關系,第一段是 >0 ,第二段是 <0 ,第三段是 =0 。
又如:

自定義數(shù)字格式還可以輕松設置百分比等格式,各種日期格式也可以設置。
在 PowerBI 中使用自定義數(shù)字格式
Excel 作為全球商業(yè)智能軟件的事實標準,自定義數(shù)字格式用于了 Excel 以及 VBA 長達多年,Power BI 中的同樣需求必定以同樣的方式來實現(xiàn)是非常合理的。那么,Power BI 的自定義數(shù)字格式是與 Excel 以及 VBA 的設置一樣的。但在功能方面,是 Excel 功能的有限子集。
有了自定義數(shù)字格式,這讓我們思考一些通用問題:
如何實現(xiàn)千分位分隔符,本文已示范
如何實現(xiàn)百分比,本文已示范
如何實現(xiàn)零值不顯示,本文已示范
對 DAX FORMAT 函數(shù)熟悉的伙伴可能會思考這與 FORMAT 的區(qū)別在哪里,本文已經(jīng)給出答案,用自定義數(shù)字格式的好處有兩個:
保持值不變,僅僅改變顯示樣式,表格數(shù)據(jù)導出為 .csv 文件后,可以在 Excel 中繼續(xù)以數(shù)字進行計算處理,而非文本;
這種做法相比于 FORMAT 的條件顯示不需要多次 SWITCH 判斷,有利于性能優(yōu)化。
在這方面的官方參考文檔,嚴格遵守:
https://docs.microsoft.com/zh-cn/power-bi/create-reports/desktop-custom-format-strings
實戰(zhàn)應用
結(jié)合上述內(nèi)容,可以思考:
如何實現(xiàn) K(千) M(百萬) B(十億)的自動顯示切換,效果如下:

該效果非常有用,可以將很小和很大的數(shù)字放在一起顯示且自動加入合理的縮放單位。即使是制作圖表,也可以得到有意義的顯示,如下:

提示:可以借助本文的說明 + 計算組 + 官方文檔實現(xiàn),具有全局通用性。
總結(jié)
自定義格式字符串,是高級 PowerBI 應用中的基礎物件,我們將使用這一特性構(gòu)建高級能力,因此,理解和掌握自定義格式字符串是這些高級內(nèi)容的前序內(nèi)容。
在訂閱了BI佐羅講授的《BI進行時》課程區(qū),除了可以下載本文案例,還可以觀看視頻講解。

讓數(shù)據(jù)真正成為你的力量
Create value?through?simple and?easy?with fun?by PowerBI
Excel BI?|?DAX Pro?|?DAX?權威指南?|?線下VIP學習
掃碼與PBI精英一起學習,驗證碼:data2021
PowerBI MVP 帶你正確而高效地學習 PowerBI
點擊“閱讀原文”,即刻開始
