DAX文字 - FORMAT 函式



描述

根據指定的格式將值轉換為文字。

語法

FORMAT (<value>, <format_string>) 

引數

序號 引數及描述
1

一個值或表示式,計算結果為單個值。

2

格式字串

表示格式樣式的字串。

  • 要格式化數字,可以使用預定義的數字格式或建立使用者定義的數字格式。

請檢視本章末尾給出的部分 - FORMAT 函式的預定義數字格式和自定義數字格式。

  • 要格式化日期和時間,可以使用預定義的日期/時間格式或建立使用者定義的日期/時間格式。

請參考本教程庫中的教程 – DAX,瞭解有關格式化日期和時間的詳細資訊。

返回值

包含根據 format_string 定義的格式的值的字串。

備註

  • 如果值為 BLANK (),FORMAT 函式將返回空字串。

  • 如果 format_string 為 BLANK (),則值將使用“常規數字”或“常規日期”格式進行格式化(根據值資料型別)。

示例

下表顯示了使用第一行中給出的第一個引數值和第一列中給出的 format_string 的 FORMAT 函式的結果。請參考此表下方的部分以瞭解格式字串。

"5" "-5" "0.5" "0"
零長度字串("") 5 -5 0.5 0
0 5 -5 1 0
0.00 5.00 -5.00 0.50 0.00
#,##0 5 -5 1 0
$#,##0;($#,##0) $5 ($5) $1 $0
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50 $0.00
0% 500% -500% 50% 0%
0.00% 500.00% -500.00% 50.00% 0.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01 0.00E+00
0.00E-00 5.00E00 -5.00E00 5.00E-1 0.00E00
"$#,##0;;\Z\e\r\o" $5 $-5 $1

FORMAT 函式的預定義數字格式

下表標識了可按名稱為 Format 函式的格式樣式引數使用的預定義數字格式名稱。

序號 格式字串及描述
1

"常規數字"

顯示沒有千位分隔符的數字。

2

"貨幣"

顯示帶有千位分隔符的數字(如果適用)。

顯示小數點右邊兩位數字。

輸出基於系統區域設定。

3

"固定"

顯示小數點左邊至少一位數字,右邊兩位數字。

4

"標準"

顯示帶有千位分隔符的數字,小數點左邊至少一位數字,右邊兩位數字。

5

"百分比"

顯示乘以 100 並附加百分號 (%) 的數字。

始終顯示小數點右邊兩位數字。

6

"科學計數法"

使用標準科學計數法,提供兩位有效數字。

7

"是/否"

如果數字為 0,則顯示否。否則,顯示是。

8

"真/假"

如果數字為 0,則顯示假。否則,顯示真。

9

"開/關"

如果數字為 0,則顯示關。否則,顯示開。

FORMAT 函式的自定義數字格式

使用者定義的數字格式表示式可以包含一個到三個用分號分隔的部分。

如果 Format 函式的 format_string 引數包含預定義的數字格式之一,則只允許一個部分。

下表顯示了格式化時如何應用這些部分。

序號 部分數量及格式結果
1

只有一部分

格式表示式應用於所有值。

2

兩部分

第一部分應用於正值和零。

第二部分應用於負值。

3

三部分

第一部分應用於正值。

第二部分應用於負值。

第三部分應用於零。

如果包含沒有任何內容的分號,則使用正值的格式列印缺失的部分。

下表標識了您可以用來建立使用者定義的數字格式的字元。

序號 格式說明及描述
1

顯示沒有格式化的數字。

2

0(零字元)

數字佔位符。顯示數字或零。

如果表示式在格式字串中零出現的位置有數字,則顯示該數字。否則,在該位置顯示零。

如果數字的小數點左邊的位數少於格式表示式中小數點左邊零的位數,則顯示前導零。如果數字的小數點右邊的位數少於格式表示式中小數點右邊零的位數,則顯示尾隨零。

如果數字的小數點右邊的位數多於格式表示式中小數點右邊零的位數,則將數字四捨五入到與零的位數相同的位數。

如果數字的小數點左邊的位數多於格式表示式中小數點左邊零的位數,則顯示多餘的數字,而不進行修改。

  • 如果表示式在格式字串中 # 字元出現的位置有數字,則顯示該數字。

  • 否則,在該位置不顯示任何內容。

此符號的作用類似於 0 數字佔位符,不同之處在於,如果數字的小數點左邊或右邊的位數少於格式表示式中小數點左邊或右邊的 # 字元的位數,則不顯示前導零和尾隨零。

3

。(點字元)

小數佔位符。小數佔位符決定顯示小數點左邊和小數點右邊的位數。

  • 如果格式表示式中此符號左邊只有 # 字元,則小於 1 的數字以小數點開頭。

  • 要顯示帶有小數的數字的前導零,請使用零作為小數點左邊第一個數字佔位符。

在某些區域設定中,逗號用作小數分隔符。格式化輸出中用作小數佔位符的實際字元取決於您的系統識別的數字格式。因此,即使您使用逗號作為小數分隔符的區域設定,也應在格式中使用句點作為小數佔位符。格式化字串將以適合該區域設定的正確格式顯示。

4

%

百分比佔位符。將表示式乘以 100。百分號 (%) 將插入在其在格式字串中出現的位置。

5

,(逗號字元)

千位分隔符。千位分隔符將小數點左邊有四位或更多位的數字中的千位與百位分開。

如果格式包含由數字佔位符 (0 或 #) 包圍的千位分隔符,則指定千位分隔符的標準用法。小數點左邊緊挨著的小數分隔符(無論是否指定小數)或字串中最右邊的字元表示“透過將其除以 1,000 來縮放數字,根據需要進行舍入”。

  • 小於 1,000 但大於等於 500 的數字顯示為 1,小於 500 的數字顯示為 0。

  • 在此位置的兩個相鄰的千位分隔符按一百萬的係數進行縮放,每個附加的分隔符再乘以 1,000。

  • 除小數點左邊緊挨著的位置或字串中最右邊的位置之外,任何位置的多個分隔符都僅被視為指定使用千位分隔符。

在某些區域設定中,句點用作千位分隔符。格式化輸出中用作千位分隔符的實際字元取決於您的系統識別的數字格式。因此,即使您使用句點作為千位分隔符的區域設定,也應在格式中使用逗號作為千位分隔符。格式化字串將以適合該區域設定的正確格式顯示。

示例 -

  • "#,0." 使用千位分隔符將 1 億這個數字格式化為字串“100,000,000”。

  • "#0,." 使用一千的係數進行縮放,將 1 億這個數字格式化為字串“100000”。

  • "#,0,." 使用千位分隔符和一千的係數進行縮放,將 1 億這個數字格式化為字串“100,000”。

6

:(冒號字元)

時間分隔符。時間分隔符在格式化時間值時分隔小時、分鐘和秒。

在某些區域設定中,其他字元可能用於表示時間分隔符。格式化輸出中用作時間分隔符的實際字元由您的系統設定確定。

7

/(正斜槓字元)

日期分隔符。日期分隔符在格式化日期值時分隔日、月和年。

在某些區域設定中,其他字元可能用於表示日期分隔符。格式化輸出中用作日期分隔符的實際字元由您的系統設定確定。

8

E-、E+、e-、e+

科學計數法。

如果格式表示式在 E-、E+、e- 或 e+ 的左邊至少有一個數字佔位符 (0 或 #),則數字將以科學計數法顯示,並且 E 或 e 將插入在數字及其指數之間。

  • 左邊的數字佔位符的數量決定指數中的數字位數。
  • 使用 E- 或 e- 將負號放在負指數旁邊。
  • 使用 E+ 或 e+ 將負號放在負指數旁邊,將正號放在正指數旁邊。
  • 您還必須在此符號右邊包含數字佔位符才能獲得正確的格式。
9

-+$()

文字字元。這些字元將完全按在格式字串中鍵入的方式顯示。

要顯示除列出的字元以外的其他字元,請在其前面加上反斜槓 (\) 或將其括在雙引號 (" ") 中。

10

\(反斜槓字元)

顯示格式字串中的下一個字元。要將具有特殊含義的字元顯示為字面字元,請在其前面加上反斜槓 (\)。

  • 反斜槓本身不會顯示。
  • 使用反斜槓與將下一個字元括在雙引號中相同。
  • 要顯示反斜槓,請使用兩個反斜槓。

但是,某些字元無法顯示為字面字元。例如:

  • 日期格式和時間格式字元 (a、c、d、h、m、n、p、q、s、t、w、y、/ 和 :)
  • 數字格式字元 (#、0、%、E、e、逗號和句點)
  • 字串格式字元 (@、&、<、> 和 !)
11

"ABC"

顯示雙引號 (" ") 內的字串。要從程式碼中在樣式引數中包含字串,必須使用 Chr(34) 將文字括起來 (34 是引號 (") 的字元程式碼)。

dax_functions_text.htm
廣告
© . All rights reserved.