ThousandSep
定义的千位分隔符会替换操作系统(地区设置)的数字分组符号。
语法:
ThousandSep
Qlik Sense 应用程序将符合此格式的文本字段解释为数字。当数字字段的数字格式设定属性设置为数字时,此格式设定将显示在图表对象中。
ThousandSep 在处理从多个区域设置接收的数据源时非常有用。
以下示例显示了 ThousandSep 系统变量的可能用途:
Set ThousandSep=','; //(for example, seven billion will be displayed as: 7,000,000,000)
Set ThousandSep=' '; //(for example, seven billion will be displayed as: 7 000 000 000)
这些主题可以帮助您使用此函数:
主题 | 描述 |
---|---|
DecimalSep | 在文本字段解释的情况下,还必须遵守此函数提供的小数位分隔符设置。对于数字格式设定,将在必要时由 Qlik Sense 使用 DecimalSep。 |
区域设置
除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。
应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。
示例 1 – 默认系统变量
概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
加载到名为 Transactions 的表中的数据集。
-
使用默认 ThousandSep 变量定义。
加载脚本
Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,10000000441
01/02/2022,2,21237492432
01/03/2022,3,41249475336
01/04/2022,4,24313369837
01/05/2022,5,47873578754
01/06/2022,6,24313884663
01/07/2022,7,28545883436
01/08/2022,8,35545828255
01/09/2022,9,37565817436
01/10/2022,10,3454343566
];
结果
执行以下操作:
-
加载数据并打开工作表。创建新表并将该字段添加为维度:date。
-
添加以下度量:
=sum(amount)
-
在“属性”面板的数据下,选择度量。
-
在数字格式设定下,选择数字。
日期 | =sum(amount) |
---|---|
01/01/2022 | 10,000,000,441.00 |
01/02/2022 | 21,237,492,432.00 |
01/03/2022 | 41,249,475,336.00 |
01/04/2022 | 24,313,369,837.00 |
01/05/2022 | 47,873,578,754.00 |
01/06/2022 | 24,313,884,663.00 |
01/07/2022 | 28,545,883,436.00 |
01/08/2022 | 35,545,828,255.00 |
01/09/2022 | 37,565,817,436.00 |
01/10/2022 | 3,454,343,566.00 |
在本例中,使用默认 ThousandSep 定义,该定义设置为逗号格式 (‘,’)。在结果表中,金额字段的格式在千分组之间显示逗号。
示例 2 – 更改系统变量
概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
第一个示例中的相同数据集,加载到名为 Transactions 的表中。
-
修改脚本开头的 ThousandSep 定义,将 '*' 字符显示为千位分隔符。这是一个极端的例子,仅用于演示变量的功能。
本例中使用的修改是极端的,并不常用,但在这里显示是为了演示变量的功能。
加载脚本
SET ThousandSep='*';
Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,10000000441
01/02/2022,2,21237492432
01/03/2022,3,41249475336
01/04/2022,4,24313369837
01/05/2022,5,47873578754
01/06/2022,6,24313884663
01/07/2022,7,28545883436
01/08/2022,8,35545828255
01/09/2022,9,37565817436
01/10/2022,10,3454343566
];
结果
执行以下操作:
-
加载数据并打开工作表。创建新表并将该字段添加为维度:date。
-
添加以下度量:
=sum(amount)
-
在“属性”面板的数据下,选择度量。
-
在数字格式设定下,选择自定义。
日期 | =sum(amount) |
---|---|
01/01/2022 | 10*000*000*441.00 |
01/02/2022 | 21*237*492*432.00 |
01/03/2022 | 41*249*475*336.00 |
01/04/2022 | 24*313*369*837.00 |
01/05/2022 | 47*873*578*754.00 |
01/06/2022 | 24*313*884*663.00 |
01/07/2022 | 28*545*883*436.00 |
01/08/2022 | 35*545*828*255.00 |
01/09/2022 | 37*565*817*436.00 |
01/10/2022 | 3*454*343*566.00 |
在脚本开头时,ThousandSep 系统变量被修改为 '*'。在结果表中,可以看到金额字段的格式显示千分组之间的 ‘*’。
示例 3 – 文本解释
概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
-
加载到名为 Transactions 的表中的数据集。
-
具有文本格式的数字字段的数据,使用逗号作为千位分隔符。
-
使用默认 ThousandSep 系统变量 。
加载脚本
Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'10,000,000,441'
01/02/2022,2,'21,492,432'
01/03/2022,3,'4,249,475,336'
01/04/2022,4,'24,313,369,837'
01/05/2022,5,'4,873,578,754'
01/06/2022,6,'313,884,663'
01/07/2022,7,'2,545,883,436'
01/08/2022,8,'545,828,255'
01/09/2022,9,'37,565,817,436'
01/10/2022,10,'3,454,343,566'
];
结果
执行以下操作:
-
加载数据并打开工作表。创建新表并将该字段添加为维度:date。
-
添加以下度量:
=sum(amount)
-
在“属性”面板的数据下,选择度量。
-
在数字格式设定下,选择数字。
-
添加以下度量以评估金额字段是否为数值:
=isnum(amount)
日期 | =sum(amount) | =isnum(amount) |
---|---|---|
01/01/2022 | 10,000,000,441.00 | -1 |
01/02/2022 | 21,492,432.00 | -1 |
01/03/2022 | 4,249,475,336.00 | -1 |
01/04/2022 | 24,313,369,837.00 | -1 |
01/05/2022 | 4,873,578,754.00 | -1 |
01/06/2022 | 313,884,663.00 | -1 |
01/07/2022 | 2,545,883,436.00 | -1 |
01/08/2022 | 545,828,255.00 | -1 |
01/09/2022 | 37,565,817,436.00 | -1 |
01/10/2022 | 3*454*343*566.00 | -1 |
加载数据后,我们可以看到,由于数据符合 ThousandSep 变量,因此 Qlik Sense 已将金额字段解释为数值。这可以通过 isnum() 函数来证明,该函数将每个条目计算为 -1 或 TRUE。
在 Qlik Sense 中,布尔 true 值由 -1 表示,false 值由 0 表示。