MoneyFormat在此頁面
此系統變數定義 Qlik 用於將文字自動翻譯為數字的格式模式,且該數字以貨幣符號為前置詞。它也會定義圖表物件如何顯示數字格式設定屬性設為「貨幣」的量值。
在 MoneyFormat 系統變數中定義為格式模式一部分的符號會取代您區域設定所設定的貨幣符號。
提示備註
依照預設,Qlik Sense 在表格圖表中以不同的方式顯示數字和文字。數字會靠右對齊,文字則靠左對齊。如此可以輕鬆找到文字對數字的轉換問題。此頁面此顯示 Qlik Sense 結果的任何表格將會使用此格式。
語法:
MoneyFormat
Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';
當數字欄位的 Number Formatting 屬性設為 Money 時,圖表物件即會顯示此格式設定。而且,當數字文字欄位經由 Qlik Sense 轉譯時,如果文字欄位的貨幣符號符合 MoneyFormat 變數中定義的符號,Qlik Sense 即會將此欄位轉譯為貨幣值。
此函數通常與下列函數搭配使用:
區域設定
除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。
應用程式中的預設地區設定是根據安裝 Qlik Sense 之電腦或伺服器的地區系統設定。若您存取的 Qlik Sense 伺服器設定為瑞典,資料載入編輯器將會對日期、時間和貨幣使用瑞典文地區設定。這些地區格式設定與 Qlik Sense 使用者介面中顯示的語言無關。Qlik Sense 顯示的語言將與您正在使用的瀏覽器相同。
範例 1 - MoneyFormat
載入指令碼和結果
概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含載入到名為 Transactions 之表格的資料集。已使用預設的 MoneyFormat 變數定義。
載入指令碼
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$###0.00;-$###0.00';
Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,$10000000441
01/02/2022,2,$21237492432
01/03/2022,3,$249475336
01/04/2022,4,$24313369837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
新增此量值:
=Sum(amount)
在「數字格式設定 」下,選取「貨幣 」將 Sum(amount) 設為貨幣值。
結果表格
總計
$165099674156.00
01/01/2022
$10000000441
$10000000441.00
01/02/2022
$21237492432
$21237492432.00
01/03/2022
$249475336
$249475336.00
01/04/2022
$24313369837
$24313369837.00
01/05/2022
$7873578754
$7873578754.00
01/06/2022
$24313884663
$24313884663.00
01/07/2022
$545883436
$545883436.00
01/08/2022
$35545828255
$35545828255.00
01/09/2022
$37565817436
$37565817436.00
01/10/2022
$3454343566
$3454343566.00
使用預設 MoneyFormat 定義。這看起來如下所示:$###0.00;-$###0.00 。在結果表格中,amount 欄位的格式顯示貨幣符號和小數點,並已包括小數位數。
範例 2 - 具有千位分隔符號和混合輸入格式的 MoneyFormat
載入指令碼和結果
概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
混合輸入格式資料集,其載入到名為 Transactions 的表格中並散佈著千位分隔符號和小數點分隔符號。
MoneyFormat 定義的修改經修改後包括逗號並作為千位分隔符號。
其中一個資料列在不正確的位置錯誤地用千位分隔符號分隔。請注意此金額如何保留為文字且未轉譯為數字。
載入指令碼
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat = '$#,##0.00;-$#,##0.00';
Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'$10,000,000,441.45'
01/02/2022,2,'$212,3749,24,32.23'
01/03/2022,3,$249475336.45
01/04/2022,4,$24,313,369,837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
新增此量值:
=Sum(amount)
在「數字格式設定 」下,選取「貨幣 」將 Sum(amount) 設為貨幣值。
結果表格
總計
$119,548,811,911.90
01/01/2022
$10,000,000,441.45
$10,000,000,441.45
01/02/2022
$212,3749,24,32.23
$0.00
01/03/2022
$249475336.45
$249,475,336.45
01/04/2022
$24
$24.00
01/05/2022
$7873578754
$7,873,578,754.00
01/06/2022
$24313884663
$24,313,884,663.00
01/07/2022
$545883436
$545,883,436.00
01/08/2022
$35545828255
$35,545,828,255.00
01/09/2022
$37565817436
$37,565,817,436.00
01/10/2022
$3454343566
$3,454,343,566.00
在指令碼開始時,MoneyFormat 系統變數經修改後包括逗點並作為千位分隔符號。在 Qlik Sense 表格中,可查看格式設定以包括此分隔符號。此外,錯誤分隔符號的列未正確轉譯並保留為文字。這就是為什麼其對金額加總沒有貢獻。