# 数字解释

在加载包含数字、货币或日期的数据时，根据是否定义了数据类型，将以不同方式来解释数据。本节描述如何在两种不同情况下解释数据。

## 带类型信息的数据

使用 ODBC 加载的数据库中包含带定义数据类型的数字的字段将根据其各自的格式在 Qlik Sense 中进行处理。他们的字符串呈现形式将是带适当应用格式的数字。

Qlik Sense 会记住字段的原始数字格式，即使数字格式在属性面板中的数字格式下面针对某个度量进行了更改。

要了解有关属性面板的更多信息，请参阅[属性面板](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Sheets/navigating-sheets.htm#Properti)。

不同数据类型的默认格式为：

* 整数、浮点数：数字的默认设置
* 货币：货币的默认设置
* 时间、日期、时间戳：ISO 标准格式

数字和货币的默认设置可使用脚本数字解释变量或操作系统来设置（控制面板）定义。

有关更多信息，请参阅[数字解释变量](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/number-interpretation-variables.htm)。

## 不带类型信息的数据

对于不带数据源的特定格式信息的数据（例如，文本文件的数据或带一般格式的 ODBC 数据），情况变得更加复杂。最终结果取决于至少六个不同因数：

* 数据写入源数据库的方法
* 数字、时间和日期等操作系统设置。（控制面板）
* 脚本中可选数字解释变量的使用
* 脚本中可选解释函数的使用
* 脚本中可选格式函数的使用
* 文档中的数字格式控制

Qlik Sense 尝试将输入数据解释为数字、日期、时间等等。只要系统默认设置用于数据，Qlik Sense 会自动完成解释和显示格式化，并且用户无需更改脚本或 Qlik Sense 中的任何设置。

以下方案会默认使用，直至找到完全匹配项。（默认格式为操作系统（即控制面板）指定的格式，例如小数位分隔符，年，月和日等之间的顺序，或者在一些情况下通过脚本中特定数字解释变量指定的格式。

Qlik Sense 会将数据解释为：

1. 符合数字默认格式的数字。
2. 符合日期默认格式的日期。
3. 符合时间和日期默认格式的时间戳。
4. 符合时间默认格式的时间。
5. 符合以下格式的日期：yyyy-MM-dd。
6. 符合以下格式的时间戳：YYYY-MM-DD hh:mm[:ss[.fff]]。
7. 符合以下格式的时间：hh:mm[:ss[.fff]]。
8. 符合货币默认格式的货币。
9. 以“,”作为千分位分隔符的数字和以“.”作为小数位分隔符的数字，前提为假设小数位分隔符和千分位分隔符都不设置为“,”。
10. 以“,”作为千分位分隔符的数字和以“.”作为小数位分隔符的数字，前提为假设小数位分隔符和千分位分隔符都不设置为“,”。
11. 文本字符串。最后一项测试从未失败：只要可以读取数据，则总可以将其解释为字符串。

加载文本文件的数字时会发生一些解释问题，例如错误的千分位分隔符或小数位分隔符可能会导致 Qlik Sense 错误解释数字。首先应该检查脚本中的数字解释变量是否正确定义，然后检查控制面板中的系统设置是否正确。

当 Qlik Sense 解释数据为日期或时间，则可以在可视化的属性面板中更改日期或时间格式。

由于数据的预定义格式不存在，因此同一字段中的不同记录当然可能会包含不同格式的数据。例如，可能会在一个字段中找到有效的日期、整数和文本。因此，数据不会格式化，但会以原始样式显示。