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 表格中,可以看到格式设定包括此分隔符。此外,带有错误分隔符的行未被正确解释,并保留为文本。这就是为什么它对总额没有贡献的原因。