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 Cloud 使用者介面中顯示的語言無關。Qlik Cloud 顯示的語言將與您正在使用的瀏覽器相同。
若您是應用程式建立者,可以為您建立的應用程式設定預設地區。如需詳細資訊,請參閱Qlik Cloud 分析 中設定用於建立應用程式和指令碼的偏好區域設定 。
範例 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 表格中,可查看格式設定以包括此分隔符號。此外,錯誤分隔符號的列未正確轉譯並保留為文字。這就是為什麼其對金額加總沒有貢獻。