MDX 儲存格屬性 - FORMAT_STRING內容
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
FORMAT_STRING 儲存格屬性會格式化 VALUE 儲存格屬性,為 FORMATTED_VALUE 儲存格屬性建立值。 FORMAT_STRING 儲存格屬性會同時處理字串和數值原始值,並針對值套用格式表示式,以傳回 FORMATTED_VALUE 單元格屬性的格式化值。 下表詳細說明用來處理字串和數值的語法和格式字元。
字串值
字串的格式表示式可以有一個區段或兩個區段,並以分號分隔(;)。
用法 | 結果 |
---|---|
一個區段 | 格式會套用至所有字串值。 |
兩個區段 | 第一個區段適用於字串數據,而第二個區段則適用於 Null 值和零長度字串(“)。 |
下表所述的字元可以出現在字元字串的格式字串中。
字元 | 描述 |
---|---|
@ | 表示顯示字元或空格的字元佔位元。 如果字串在符號 (@) 出現在格式字串中的位置有字元,則格式化字串會顯示字元。 否則,格式化字串會顯示該位置中的空格。 除非格式字串中有驚歎號 (!) ,否則佔位元元會從右至左填入。 |
& | 表示顯示字元或無任何字元的字元佔位元。 如果字串在 ampersand (&) 出現的位置中有字元,則格式化的字串會顯示字元。 否則,格式化的字串不會顯示任何內容。 除非格式字串中有驚歎號 (!) ,否則佔位元元會從右至左填入。 |
< | 強制小寫。 格式化字串會以小寫格式顯示所有字元。 |
> | 強制大寫。 格式化字串會以大寫格式顯示所有字元。 |
! | 強制從左至右填滿佔位元。 (預設值是從右至左填滿佔位元。 |
數值
數位的使用者定義格式表示式可以從一個區段到四個區段之間,以分號分隔。 如果 format 自變數包含其中一個具名數值格式,則只允許一個區段。
用法 | 結果 |
---|---|
一個區段 | 格式表達式會套用至所有值。 |
兩個區段 | 第一個區段適用於正值和零,第二個則套用至負值。 |
三個區段 | 第一個區段會套用至正值、第二個套用至負值,而第三個則套用至零。 |
四個區段 | 第一個區段適用於正值、第二個套用至負值、第三個套用至零,第四個則套用至 Null 值。 |
下列範例有兩個區段。 第一個區段會定義正值和零的格式,而第二個區段會定義負值的格式。
"$#,##0;($#,##0)"
如果您包含的分號與它們之間沒有任何專案,則遺漏的區段會使用正值的格式列印。 例如,下列格式會使用第一個區段中的格式來顯示正值和負值,如果值為零,則會顯示 “Zero” :
"$#,##0;;\Z\e\r\o"
下表會識別可以出現在數值格式格式字串中的字元。
字元 | 描述 |
---|---|
沒有 | 顯示不含任何格式的數位。 |
0 | 表示顯示數位或零 (0) 的數位佔位元。 如果數位在格式字串中出現零的位置有數位,則格式化的值會顯示數位。 否則,格式化的值會在該位置顯示零。 如果數位的位數比格式字串中的零(小數點任一邊)少,則格式化的值會顯示前置或尾端零。 如果數位在小數分隔符右邊的位數大於格式表達式中小數分隔符右邊的零,則格式化值會將數位四捨五入為零的十進位數。 如果數位在小數分隔符左邊的位數大於格式表達式中小數分隔符左邊的零,則格式化值會顯示額外的數位,而不需要修改。 |
# | 表示顯示數位或無任何數位的數位佔位元。 如果表達式的位數位於數字元號 (#) 出現在格式字串中的位置,則格式化的值會顯示數位。 否則,格式化的值不會在該位置顯示任何內容。 數字符號 (#) 佔位元的運作方式與零 (0) 數位佔位元類似,但是如果數位在格式表達式中小數分隔符的任一邊有 # 字元,則不會顯示前置和尾端零。 |
。 | 代表小數佔位元,決定小數分隔符左邊和右邊顯示多少位數。 如果格式表達式只包含句點左邊的數字元號 (#) 字元 (.),則小於 1 的數位會以小數分隔符開頭。 若要顯示以小數表示的前置零,請使用零 (0) 作為小數分隔符左邊的第一個數位佔位元。 在格式化輸出中作為小數佔位元的實際字元,取決於計算機系統所辨識的數位格式。 注意:在某些地區設定中,會使用逗號做為小數分隔符。 |
% | 表示百分比佔位元。 表達式乘以 100。 百分比字元 (%) 會插入格式字串中出現百分比的位置。 |
、 | 表示千位分隔符,在小數分隔符左邊有四個以上位置的數位中,將數千個分隔符分隔開來。 如果格式包含以數位佔位符括住的千位分隔符(0 或 #),則會指定使用千位分隔符的標準用法。 兩個相鄰的千位分隔符,或小數分隔符左邊的千位分隔符(不論是否指定十進位),表示「將數位除以 1000,視需要四捨五入」。例如,您可以使用格式字串 「##0,」 來表示 1 億作為 100。 小於1百萬的數字會顯示為0。 除了小數分隔符左邊的任何位置之外,有兩個相鄰的千位分隔符會被視為指定千位分隔符的使用方式。 做為格式化輸出中千位分隔符的實際字元,取決於計算機系統所辨識的數位格式。 注意:在某些地區設定中,句點會當做千位分隔符使用。 |
: | 表示時間分隔符,分隔時間值格式化時數、分鐘和秒數。 注意:在某些地區設定中,其他字元可能會做為時間分隔符。 做為格式化輸出中時間分隔符的實際字元是由電腦上的系統設定所決定。 |
/ | 表示日期分隔符,分隔日期值格式化時的日期、月和年。 做為格式化輸出中日期分隔符的實際字元是由電腦上的系統設定所決定。 注意:在某些地區設定中,其他字元可能會做為日期分隔符。 |
E- E+ e- e+ | 表示科學格式。 如果格式表達式至少包含一個數位佔位元(0 或 #),E-、E+、e-或 e+,則格式化值會顯示科學格式,而 E 或 e 會在數位與數位指數之間插入。 右邊的數位佔位元元數目會決定指數中的位數。 使用 E- 或 e-,在負指數旁包含減號。 使用 E+ 或 e+,在負指數旁邊加上減號,以及正指數旁的加號。 |
- + $ ( ) | 顯示常值字元。 若要顯示其中一個以外的字元,請將反斜杠(\)放在字元前面,或用雙引號括住字元(“)。 |
\ | 以格式字串顯示下一個字元。 若要將具有特殊意義的字元顯示為常值字元,請在字元前面放置反斜杠(\)。 不會顯示反斜杠本身。 使用反斜杠與以雙引號括住下一個字元相同。 若要顯示反斜杠,請使用兩個反斜杠(\\)。 無法顯示為常值字元的字元範例包括下列字元: 日期格式和時間格式字元、c、d、h、mnp、q、s、t、w、y、/和 : 數值格式字元#、0、%、E、e、逗號和 句點 字串格式字元-@、 &、 <、 >和 ! |
“ABC” | 在雙引號內顯示字串(“)。 若要在程式代碼中包含格式的字串,請使用 Chr(34) 括住文字。 (雙引號的字元碼 34。 |
具名數值格式
下表識別預先定義的數值格式名稱:
格式名稱 | 描述 |
---|---|
General Number |
顯示沒有千位分隔符的數位。 |
Currency |
視需要顯示具有千位分隔符的數位。 在小數分隔符右邊顯示兩位數。 輸出是以系統地區設定為基礎。 |
Fixed |
在小數分隔符右邊顯示至少一位數和兩位數。 |
Standard |
顯示具有千位分隔符元的數位,左邊至少一位數,小數分隔符右邊至少有一位數。 |
Percent |
顯示數位乘以 100,並將百分比符號 (%) 附加至右邊。 一律會顯示小數分隔符右邊的兩位數。 |
Scientific |
使用標準科學表示法。 |
Yes/No |
如果數位為 0,則顯示 [否] ;否則,會顯示 [是]。 |
True/False |
如果數位為 0,則顯示 False;否則,會顯示 True。 |
On/Off |
如果數位為 0,則顯示 Off;否則,會顯示 [開啟]。 |
日期值
下表會識別可以出現在日期/時間格式格式格式字串中的字元。
字元 | 描述 |
---|---|
: | 表示時間分隔符,分隔時間值格式化時數、分鐘和秒數。 做為格式化輸出中時間分隔符的實際字元是由計算機的系統設定所決定。 注意:在某些地區設定中,其他字元可能會做為時間分隔符。 |
/ | 表示日期分隔符,分隔日期值格式化時的日期、月和年。 做為格式化輸出中日期分隔符的實際字元是由計算機的系統設定所決定。 注意:在某些地區設定中,其他字元可用來表示日期分隔符 |
C | 依該順序將日期顯示為 如果日期序號沒有小數部分,則只會顯示日期資訊。 如果沒有整數部分,則只會顯示時間資訊。 |
d | 將日期顯示為沒有前置零的數位(1-31)。 |
dd | 將日期顯示為前置零的數位(01-31)。 |
ddd | 將日期顯示為縮寫 (Sun-Sat)。 |
dddd | 將日期顯示為完整名稱 (Sunday-Saturday)。 |
ddddd | 根據系統的簡短日期格式設定,將日期顯示為完整日期(包括日、月和年)。 對於 Microsoft Windows,預設的簡短日期格式為 m/d/yy。 |
dddddd | 根據計算機系統所辨識的長日期設定,將日期序號顯示為完整日期(包括日、月和年)。 針對 Windows,預設的長日期格式為 mmmm dd,yyyy。 |
w | 將星期幾顯示為數位(1 代表星期天到星期六 7)。 |
ww | 將年份的周顯示為數位(1-54)。 |
m | 將月份顯示為沒有前置零的數位(1-12)。 如果 m 緊接 h 或 hh,則會顯示分鐘而不是月份。 |
mm | 將月份顯示為前置零的數位(01-12)。 如果 m 緊接 h 或 hh,則會顯示分鐘而不是月份。 |
mmm | 將月份顯示為縮寫 (Jan-Dec)。 |
mmmm | 將月份顯示為完整月份名稱 (January-December)。 |
q | 將年份的四分之一顯示為數位(1-4)。 |
y | 將年份的日期顯示為數位(1-366)。 |
yy | 將年份顯示為兩位數的數位(00-99)。 |
yyyy | 將年份顯示為四位數的數位(100-9999)。 |
h | 將小時顯示為沒有前置零的數位(0-23)。 |
hh | 將小時顯示為具有前置零的數位(00-23)。 |
n | 將分鐘顯示為沒有前置零的數位(0-59)。 |
nn | 將分鐘顯示為前置零的數位(00-59)。 |
s | 將第二個顯示為沒有前置零的數位(0-59)。 |
ss | 將第二個顯示為具有前置零的數位(00-59)。 |
t t t t t | 使用計算機系統所辨識的時間格式所定義的時間分隔符,將時間顯示為完整時間(包括小時、分鐘和秒)。 如果選取前置零選項,且時間早於上午 10:00 或 P.M. 迴圈,則會顯示前置零。 例如,09:59、 若為 Windows,預設時間格式為 h:mm:ss。 |
AM/PM | 顯示大寫 AM,從午夜到中午的任何時間;會顯示大寫 PM,從中午到午夜的任何時間。 注意:使用12小時制。 |
am/pm | 顯示小寫 上午,從午夜到中午的任何時間;會顯示小寫 pm,從中午到午夜的任何時間。 注意:使用12小時制。 |
A/P | 顯示大寫 A,從午夜到中午的任何時間;會顯示從中午到午夜的任何小時 P 大寫。 注意:使用12小時制。 |
/p | 顯示小寫 ,從午夜到中午的任何時間;顯示小寫 p,從中午到午夜的任何時間。 注意:使用12小時制。 |
AMPM | 顯示計算機系統所定義的AM字串常值,從午夜到中午為止的任何小時;會顯示 PM 字串常值,如計算機系統所定義,且從中午到午夜的任何時間。 AMPM 可以是大寫或小寫,但顯示的字串大小寫符合計算機系統設定所定義的字串。 針對 Windows,預設格式為 AM/PM。 注意:使用12小時制。 |
具名日期格式
下表會識別預先定義的日期和時間格式名稱:
格式名稱 | 描述 |
---|---|
General Date |
顯示日期和時間。 針對實數,顯示日期和時間,例如下午 4/3/93 05:34。 如果沒有小數部分,則只會顯示日期,例如 4/3/93。 如果沒有整數部分,則只會顯示時間,例如下午 05:34。 日期顯示的格式取決於您的系統設定。 |
Long Date |
根據系統的長期日期格式顯示日期。 |
Medium Date |
使用適用於主應用程式語言版本的中等日期格式來顯示日期。 |
Short Date |
使用系統的簡短日期格式來顯示日期。 |
Long Time |
使用系統較長的時間格式顯示時間;包括小時、分鐘和秒。 |
Medium Time |
使用小時和分鐘和AM/PM指示項,以12小時格式顯示時間。 |
Short Time |
使用 24 小時格式顯示時間,例如 17:45。 |
另請參閱
FORMATTED_VALUE上的
使用儲存格屬性 (MDX)
建立和使用屬性值 (MDX)
MDX 查詢基本概念 (Analysis Services)