# 可视化、字段和命名的指导原则

以下是在使用 Qlik Sense 时需要知道的某些约定和限制。例如：在名称、说明和表达式中使用的最多字符数，以及保留仅供 Qlik Sense 使用的字符。

## 可视化的最大数量

工作表上可以包含的可视化的最大数量受工作表单元格数量（即 288 (24x12)）的限制。实际最大数量低于此数量，因为限制使用仅由 1 个单元格组成的可视化。

## 名称长度的上限

以下限制适用于 Qlik Sense 中不同位置所使用的字符数量：

名称长度的上限

| 情况 | 上限 &gt;= |
| --- | --- |
| 名称（标题、维度、脚注...） | 最多 255 个字符。 |
| 描述 | 最多 512 个字符。 |
| 表达式 | 最多 64,000 个字符 |
| 标签 | 每个标签最多 31 个字符和每个主条目最多 30 个标签。 |
| 文本和图片图表： | 最多 12,000 个字符 |

## 命名惯例

在 Qlik Sense 中，您可按实体的名称引用大量实体，例如：

* 字段
* 维度
* 度量
* 变量
* 书签

在 Qlik Sense 中一些字符被保留供系统使用。为了避免潜在错误，在名称中请勿使用以下字符：

* :
* =
* [
* ]
* {
* }
* (
* ）
* $
* ´
* `
* '

如果为维度和度量使用长名称，则会将名称截断显示，并且将会显示 “...”，指示名称有一部分被隐藏。

## 表达式中的最大字符数

可在可视化表达式中写入的最大字符数为 64,000。如果您尝试构建字符数超出该限制的表达式，表达式将会被截断。

## 数字格式和时间格式的约定

在许多解释和格式化函数中，可以通过使用格式代码设置数字和日期的格式。本主题介绍数字、日期、时间和时间戳函数的格式。这些格式同时适用于脚本和图表函数。

## 数字格式

要表示一个具体数位的数字，可以使用符号 "0" 代表每一个数位。

要在小数点左边表示可能的数字，可使用符号 "#"。

要标记千位分隔符的位置或小数位分隔符的位置，可以使用适用的千位分隔符和小数位分隔符。

格式代码用于定义分隔符的位置。无法在格式代码中设置分隔符。在脚本中，对于这种情况可以使用 DecimalSep 和 ThousandSep 变量。

可以对任何位置的数字使用千位分隔符分组数位。例如，一个格式字符串 "0000-0000-0000"（千位分隔符=“-”）可以用于显示一个十二位部件编号 "0012-4567-8912"。

有关更多信息，请参阅[DecimalSep](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm)和[ThousandSep](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm)。

示例：

数字格式的示例

| 数字格式 | 说明 |
| --- | --- |
| # ##0 | 描述带千位分隔符的整数数字。在该示例中，将 " " 用作小数位分隔符。 |
| ###0 | 描述不带千位分隔符的整数数字。 |
| 0000 | 描述至少四位数的整数数字。如数字 123 将显示为 0123。 |
| 0.000 | 描述带三个小数位的数字。在该示例中，将 "." 用作小数位分隔符。 |

## 特殊数字格式

Qlik Sense 可以解释及格式化任何基数在 2 和 36 之间的数字，包括二进制、八进制及十六进制。它也可处理罗马格式。

特殊数字格式

| 格式 | 说明 |
| --- | --- |
| 二进制格式 | 要表示二进制格式，格式代码前面应带 (bin) 或 (BIN)。 |
| 八进制格式 | 要表示八进制格式，格式代码前面应带 (oct) 或 (OCT)。 |
| 十六进制格式 | 要表示十六进制格式，格式代码前面应带 (hex) 或 (HEX)。如果使用大写版本，格式化将使用 A-F（如 14FA）。非大写版本将导致格式化使用 a-f（如 14fa）。解释对两种变量都可用，忽略代码的大小写。 |
| 十进制格式 | 允许使用 (dec) 或 (DEC) 表示小数格式，但是没有必要。 |
| 自定义基数格式 | 要使用介于 2 和 36 之间的任何基数表示一个格式，格式代码前面应以 (rxx) 或 (Rxx) 为开头，其中 xx 是两位数数字，表示要使用的基数。如果使用大写 R，则大于 10 的基数中的字母在 Qlik Sense 格式化时将变成大写（如 14FA）。非大写的 r 将导致使用非大写字母格式化（如 14fa）。解释对两种变量都可用，忽略代码的大小写。注意，(r02) 与 (bin) 相等，(R16) 与 (HEX) 相等，以此类推。 |
| 罗马格式 | 要表示罗马数字，格式代码前面应带 (rom) 或 (ROM)。如果使用大写版本，格式化将使用大写字（如 MMXVI）。非大写版本将导致格式化使用小写字母（如 mmxvi）。解释对两种变量都可用，忽略代码的大小写。罗马字母负数将产生一个负号，零将产生 0。罗马格式将忽略小数位。 |

示例：

特殊数字格式的示例

| 示例 | 结果 |
| --- | --- |
| num(199, '(bin)') | 返回 11000111 |
| num(199, '(oct)') | 返回 307 |
| num(199, '(hex)') | 返回 c7 |
| num(199, '(HEX)' ) | 返回 C7 |
| num(199, '(r02)' ) | 返回 11000111 |
| num(199, '(r16)') | 返回 c7 |
| num(199, '(R16)' ) | 返回 C7 |
| num(199, '(R36)') | 返回 5J |
| num(199, '(rom)') | 返回 cxcix |
| num(199, '(ROM)' ) | 返回 CXCIX |

## 日期

可以使用下列符号格式化日期。可以使用任意分隔符。

格式化日期的符号

| 符号 | 说明 |
| --- | --- |
| D | 要描述日期，每一个数位使用符号 "D"。 |
| M | 要描述月份，使用符号 "M"。<br><br>使用 "M" 或 "MM" 表示一位或两位数字。<br><br><br>"MMM" 表示以字母表示的短月份名称，由操作系统定义，或由脚本中覆盖系统变量 MonthNames 定义。<br><br><br>"MMMM" 表示以字母表示的长月份名称，由操作系统定义，或由脚本中覆盖系统变量 LongMonthNames 定义。<br><br>有关更多信息，请参阅[MonthNames](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MonthNames.htm)和[LongMonthNames](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/LongMonthNames.htm)。 |
| Y | 要描述年，每一个数位使用符号 "Y"。 |
| W | 要描述周几，使用符号 "W"。<br><br><br>"W" 将以一个数位方式返回天的数字（如 0 代表周一）。<br><br><br>"WW" 将返回两位数的数字（如 02 表示周三）。<br><br><br>"WWW" 将显示周名称的短版本（如 Mon），由操作系统定义，或由脚本中覆盖系统变量 DayNames 定义。<br><br><br>"WWWW" 将显示周名称的长版本（如 Monday），由操作系统定义，或由脚本中覆盖系统变量 LongDayNames 定义。<br><br>有关更多信息，请参阅[DayNames](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DayNames.htm)和[LongDayNames](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/LongDayNames.htm)。 |

示例： （使用 31st March 2013 作为示例日期）

日期格式的示例

| 示例 | 结果 |
| --- | --- |
| YY-MM-DD | 描述如 13-03-31 的日期。 |
| YYYY-MM-DD | 描述如 3/31/13 的日期。 |
| YYYY-MMM-DD | 描述如 2013-Mar-31 的日期。 |
| DD MMMM YYYY | 描述如 31 March 2013 的日期。 |
| M/D/YY | 描述如 3/31/13 的日期。 |
| W YY-MM-DD | 描述如 6 13-03-31 的日期。 |
| WWW YY-MM-DD | 描述如 Sat 13-03-31 的日期。 |
| WWWW YY-MM-DD | 描述如 Saturday 13-03-31 的日期。 |

## 时间

可以使用下列符号格式化时间。可以使用任意分隔符。

格式化时间的符号

| 符号 | 说明 |
| --- | --- |
| h | 要描述小时，每一个数位使用符号 "h"。 |
| m | 要描述分钟，每一个数位使用符号 "m"。 |
| s | 要描述秒，每一个数位使用符号 "s"。 |
| f | 要描述分秒，每一个数位使用符号 "f"。 |
| tt | 要以 AM/PM 格式描述时间，在时间后使用符号 "tt"。 |

示例： （使用 18.30 作为示例时间）：

时间格式的示例

| 示例 | 结果 |
| --- | --- |
| hh:mm | 描述如 18:30 的时间 |
| hh.mm.ss.ff | 描述如 18.30.00.00 的时间 |
| hh:mm:tt | 描述如 06:30:pm 的时间 |

## 时间戳

在时间戳中使用的符号与以上在日期和时间中使用的符号相同。

示例： （使用 31th March 2013 18.30 作为示例时间戳）

时间戳格式的示例

| 示例 | 结果 |
| --- | --- |
| YY-MM-DD hh:mm | 描述如 13-03-31 18:30 的时间戳。 |
| M/D/Y hh.mm.ss.ffff | 描述如 3/31/13 18.30.00.0000 的时间戳。 |

## 在可视化中使用系统字段

可以在可视化中使用系统字段。系统字段是在生成数据加载脚本时由 Qlik Sense 创建的，包括有关加载数据中的字段和表格的信息。系统字段以“$”开头，需要手动输入包含“$”的字段名称才能引用它。您可以使用系统字段来创建作为主条目的维度，也可以通过属性面板来完成此操作。

基于系统字段的维度预览。

![维度预览。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SystemFieldDimension.png)

在属性面板中作为维度添加的系统字段。

s s![属性面板。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SystemField_pp.png)

## 了解详情

* [重新将维度结合主维度使用](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Dimensions/create-master-dimension.htm)
* [字段](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/fields.htm)
* [系统字段](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/system-fields.htm)