共用方式為


LANGUAGE 和 FORMAT_STRING 在 FORMATED_VALUE 上

FORMATTED_VALUE屬性是以儲存格之 VALUE、FORMAT_STRING 和 LANGUAGE 屬性的互動為基礎。 本主題說明這些屬性如何互動,以建置FORMATTED_VALUE屬性。

VALUE、FORMAT_STRING、LANGUAGE 屬性

下表說明這些屬性是什麼,以協助準備我們組合使用這些屬性。

價值
單元格的未格式化值。

FORMAT_STRING
將格式範本套用至儲存格的值,以生成FORMATTED_VALUE屬性

語言
要與 FORMAT_STRING 一同套用的地區設定規範,以產生 FORMATTED_VALUE 的本地語系化版本

建構格式化值

FORMATTED_VALUE屬性是使用 VALUE 屬性中的值,並將 FORMAT_STRING 屬性中指定的格式範本套用至該值來建構。 此外,每當格式值為 named formatting literal 時,LANGUAGE 屬性規範會修改 FORMAT_STRING 的輸出,以符合指定格式的語言使用方式。 具名格式常量都是以可本地化的方式定義。 例如, "General Date" 是可以本地化的規格,而不是下列範本 "YYYY-MM-DD hh:nn:ss", ,指出無論語言規格為何,範本都會以所定義的方式呈現日期。

如果FORMAT_STRING範本與 LANGUAGE 規格之間發生衝突,則FORMAT_STRING範本會覆寫 LANGUAGE 規格。 例如,如果 FORMAT_STRING=“$ #0” 和 LANGUAGE=1034 (西班牙),且 VALUE=123.456,則 FORMATTED_VALUE=“$ 123” 而不是 FORMATTED_VALUE=“€ 123”,預期的格式會以歐元為單位,因為格式範本的值會覆寫指定的語言。

範例

下列範例顯示當 LANGUAGE 與 FORMAT_STRING 搭配使用時取得的輸出。

第一個範例說明格式化數值;第二個範例說明格式化日期和時間值。

針對每個範例,會提供多維度表達式 (MDX) 程式代碼。

with

member measures.A as 5040, FORMAT_STRING="Currency"

member measures.B as measures.A, LANGUAGE=1034

member measures.C as measures.A, LANGUAGE=1034 , FORMAT_STRING="$#,##0.00"

member measures.D as measures.A, FORMAT_STRING="Scientific"

member measures.E as measures.A, LANGUAGE=1034 , FORMAT_STRING="Scientific"

member measures.F as 0.5040, FORMAT_STRING="Percent"

member measures.G as measures.F, LANGUAGE=1034

member measures.H as 0, LANGUAGE=1034 , FORMAT_STRING="Yes/No"

member measures.I as 59, LANGUAGE=1034 , FORMAT_STRING="Yes/No"

member measures.J as 0, LANGUAGE=1034 , FORMAT_STRING="ON/OFF"

member measures.K as -312, LANGUAGE=1034 , FORMAT_STRING="ON/OFF"

Select {measures.A, measures.B, measures.C, measures.D, measures.E, measures.F, measures.G, measures.H, measures.I, measures.J, measures.K} on 0

from [Adventure Works]

cell properties VALUE, FORMAT_STRING, LANGUAGE, FORMATTED_VALUE

當上述 MDX 查詢透過伺服器和具有地區設定 1033 的用戶端使用 SQL Server Management Studio 執行時,結果會轉置如下:

會員 FORMATTED_VALUE 說明
一個 $5,040.00 FORMAT_STRING 設定為 Currency ,且 LANGUAGE 是 1033,繼承自系統地區設定值
B €5.040,00 FORMAT_STRING 被設定為 Currency (繼承自 A),且 LANGUAGE 明確設定為 1034 (西班牙),因此使用了歐元符號、不同的小數點分隔符和不同的千位數分隔符。
C $5.040,00 FORMAT_STRING 會設定為 $#,##0.00 覆寫從 A 的貨幣設定,而 LANGUAGE 會明確設定為 1034(西班牙)。 由於 FORMAT_STRING 屬性明確將貨幣符號設定為 $,因此FORMATTED_VALUE會顯示 $ 符號。 不過,因為 . (點)和(逗號)是小數分隔符和 , 千位分隔符的佔位元元,語言規格會影響它們產生針對小數點和千位分隔符本地化的輸出。
D 5.04E+03 FORMAT_STRING 設定為 Scientific ,且 LANGUAGE 設定為 1033,繼承自系統地區設定值,因此 . (dot) 是小數分隔符。
E 5,04E+03 FORMAT_STRING設定為 Scientific ,且明確將 LANGUAGE 設定為 1034, ,因此 , (逗號) 是小數分隔符。
F 50.40% FORMAT_STRING 設定為 Percent ,且 LANGUAGE 設定為 1033,繼承自系統地區設定值,因此 . (dot) 是小數分隔符。

請注意,VALUE 已從 5040 變更為 0.5040
G 50,40% FORMAT_STRING設定為 Percent,繼承自 F,且 LANGUAGE 明確設定為 1034 ,因此 , (逗號) 是小數分隔符。

請注意,VALUE 繼承自 F 值。
H FORMAT_STRING設定為 ,VALUE 會設定為 YES/NO0,且 LANGUAGE 已明確設定為 1034;因為英文 NO 與西班牙文之間沒有差異,因此使用者在FORMATTED_VALUE中看不到任何差異。
國際單位制 FORMAT_STRING設定為 YES/NO,VALUE 會設定為 59,且 LANGUAGE 已明確設定為 1034;如針對 YES/NO 格式定義,與零 (0) 不同的任何值都是 YES,而且因為語言設定為西班牙文,因此FORMATTED_VALUE為 SI。
J Desactivado FORMAT_STRING設為 ON/OFF,VALUE 會設定為 0,且 LANGUAGE 已明確設定為 1034;如針對 ON/OFF 格式定義,任何等於零 (0) 的值都是 OFF,而且因為語言設定為西班牙文,因此FORMATTED_VALUE為 Desactivado。
K Activado FORMAT_STRING設定為 ON/OFF,VALUE 會設定為 -312 且 LANGUAGE 已明確設定為 1034;如針對 ON/OFF 格式定義,與零 (0) 不同的任何值都是 ON,而且因為語言設定為西班牙文,因此FORMATTED_VALUE為 Activado。

with

member measures.A as 'CDate("1959-03-12 06:30")'

member measures.B as measures.A, FORMAT_STRING="Long Date"

member measures.C as measures.A, LANGUAGE=1034 , FORMAT_STRING="General Date"

member measures.D as measures.A, LANGUAGE=1034, FORMAT_STRING="Long Date"

member measures.E as measures.A, LANGUAGE=1041 , FORMAT_STRING="General Date"

member measures.F as measures.A, LANGUAGE=1041 , FORMAT_STRING="Long Date"

member measures.G as measures.A, FORMAT_STRING="Long Time"

member measures.H as measures.A, FORMAT_STRING="Short Time"

member measures.I as measures.A, LANGUAGE=1034 , FORMAT_STRING="Long Time"

member measures.J as measures.A, LANGUAGE=1034 , FORMAT_STRING="Short Time"

member measures.K as measures.A, LANGUAGE=1041 , FORMAT_STRING="Long Time"

member measures.L as measures.A, LANGUAGE=1041 , FORMAT_STRING="Short Time"

Select {measures.A, measures.B, measures.C, measures.D, measures.E, measures.F

, measures.G, measures.H, measures.I, measures.J, measures.K, measures.L} on 0

from [Adventure Works]

cell properties VALUE, FORMAT_STRING, LANGUAGE, FORMATTED_VALUE

當上述 MDX 查詢透過伺服器和具有地區設定 1033 的用戶端使用 SQL Server Management Studio 執行時,結果會轉置如下:

會員 FORMATTED_VALUE 說明
一個 1959/3/12 上午 6:30:00 CDate() 表示式會將 FORMAT_STRING 隱式設定為 General Date,且 LANGUAGE 是來自系統地區設定值的 1033(英文)
B 1959 年 3 月 12 日星期四 FORMAT_STRING明確設定為 Long Date ,且 LANGUAGE 是 1033 (英文),繼承自系統地區設定值
C 12/03/1959 6:30:00 FORMAT_STRING 已被明確設定為 General Date,而 LANGUAGE 則明確設定為 1034(西班牙文)。

請注意,美國格式中的月和日會互換順序。
D jueves, 12 de marzo de 1959 FORMAT_STRING已明確設定為 Long Date ,且 LANGUAGE 已明確設定為 1034 (西班牙文)。

請注意,一周中的月和日會以西班牙文來措辭
E 1959/03/12 6:30:00 FORMAT_STRING已明確設定為 General Date ,且 LANGUAGE 已明確設定為 1041 (日文)。

請注意,日期現在格式化為 Year/Month/Day Hour:Minutes:Seconds
F 1959年3月12日 FORMAT_STRING 明確設定為 Long Date,LANGUAGE 也明確設定為 1041(日文)。
G 上午 6:30:00 FORMAT_STRING明確設定為 Long Time ,且 LANGUAGE 是 1033 (英文),繼承自系統地區設定值。
H 06:30 FORMAT_STRING明確設定為 Short Time ,且 LANGUAGE 是 1033 (英文),繼承自系統地區設定值。
6:30:00 FORMAT_STRING明確設定為 Long Time ,且 LANGUAGE 明確設定為 1034 (西班牙文)。
J 06:30 FORMAT_STRING明確設定為 Short Time ,且 LANGUAGE 明確設定為 1034 (西班牙文)。
K 6:30:00 FORMAT_STRING已明確設定為 Long Time ,且明確將 LANGUAGE 設定為 1041 (日文)。
L 06:30 FORMAT_STRING已明確設定為 Short Time ,且明確將 LANGUAGE 設定為 1041 (日文)。

另請參閱

FORMAT_STRING 內容(MDX)
使用儲存格屬性 (MDX)
建立與使用屬性值 (MDX)
MDX 查詢概念基礎 (分析服務)