# 視覺化、欄位及命名的準則

在使用 Qlik Sense 時，您需要注意某些慣例與限制。例如：要在名稱、描述及運算式中使用的字元數目上限，以及保留僅供 Qlik Sense 使用的字元數目上限。

## 視覺化數目上限

一個工作表上可以有的視覺化數目上限為工作表上的儲存格數目：288 (24x12)。實際數目上限將小於這個數字，原因是僅由 1 個儲存格組成的視覺化的使用受限。

## 名稱長度的上限

下列限制適用於可以在 Qlik Sense 的各種狀況下使用的字元數目：

名稱長度的上限

| 情況 | 上限 |
| --- | --- |
| 名稱 (標題、維度、註腳…) | 最多 255 個字元。 |
| 描述 | 最多 512 個字元。 |
| 運算式 | 最多 64,000 個字元。 |
| 標記 | 每個標記最多 31 個字元，每個主項目最多 30 個標記。 |
| 文字與影像圖表： | 最多 12,000 個字元。 |

## 命名慣例

您可以按照 Qlik Sense 中的名稱參考一些項目，例如：

* 欄位
* 維度
* 量值
* 變數
* 書籤

有些字元因系統目的保留於 Qlik Sense。為了避免潛在錯誤，請避免在名稱中使用下列字元：

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

若您在維度和量值使用很長的名稱，則顯示名稱將會被截斷。會顯示「...」，以表示隱藏了部分名稱。

## 運算式中的字元數上限

在視覺化運算式中可編寫的字元數上限為 64,000。如果您嘗試建立超過此數目的運算式，運算式將會被截短。

## 數字格式與時間格式的慣例

在很多解譯和格式設定函數中，可使用格式代碼來設定數字和日期的格式。本主題描述數字、日期、時間和時間戳記函數的格式。這些格式可套用到指令碼和圖表函數中。

## 數字格式

若要代表特定位數的數字，可使用符號 "0" 來代表每個數字。

若要指示小數點左方的可能數字，請使用符號 "#"。

若要標示千位分隔符號或小數點分隔符號的位置，可使用適用的千位分隔符號和小數點分隔符號。

格式代碼可用於定義分隔符號的位置，但無法以格式代碼來設定分隔符號。在指令碼中為此使用 DecimalSep 和 ThousandSep 變數。

可使用千位分隔符號，將數字按任意數量的位置群組化，例如，格式字串 "0000-0000-0000" (千位分隔符號 = "-") 可用於將 12 位數的零件編號顯示為 "0012-4567-8912"。

如需更多資訊，請參閱 [DecimalSep](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm) 和 [ThousandSep](https://help.qlik.com/zh-TW/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，則當 Qlik Sense 格式設定時，基數中大於 10 的字母會大寫 (如 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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MonthNames.htm) 和 [LongMonthNames](https://help.qlik.com/zh-TW/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" 會顯示由作業系統或指令碼中覆寫系統變數 DayNames 所定義，工作日名稱的簡短版本 (如 Mon)。<br><br><br>"WWWW" 會顯示由作業系統或指令碼中覆寫系統變數 LongDayNames 所定義，工作日名稱的完整版本 (如 Monday)。<br><br>如需更多資訊，請參閱 [DayNames](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DayNames.htm) 和 [LongDayNames](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/LongDayNames.htm)。 |

範例： (以 2013 年 3 月 31 日作為日期範例)

日期格式的範例

| 範例 | 結果 |
| --- | --- |
| YY-MM-DD | 會將日期描述為 13-03-31。 |
| YYYY-MM-DD | 會將日期描述為 2013-03-31。 |
| 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 | 若要以上午/下午的格式描述時間，可在時間之後使用符號 "tt"。 |

範例： (以 18.30 為時間範例)：

時間格式的範例

| 範例 | 結果 |
| --- | --- |
| hh:mm | 會將時間描述為 18:30 |
| hh.mm.ss.ff | 會將時間描述為 18.30.00.00 |
| hh:mm:tt | 會將時間描述為 06:30:pm |

## 時間戳記

在時間戳記中，可使用上述用於日期和時間的相同標記法。

範例： (以 2013 年 3 月 31 日 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-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SystemFieldDimension.png)

在屬性面板中新增作為維度的系統欄位。

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

## 瞭解更多資訊

* [透過主維度重複使用維度](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Dimensions/create-master-dimension.htm)
* [欄位](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/fields.htm)
* [系統欄位](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/system-fields.htm)