# 數字解譯

當您載入包含數字、貨幣或日期的資料時，將根據是否已定義資料類型使用不同方式進行解譯。本節描述如何在兩個不同的案例中解譯資料。

## 含類型資訊的資料

對於在透過 ODBC 載入的資料庫有已定義資料類型，且包含數字的欄位，Qlik Sense 會按照其各自格式加以處理。其字串表示法為套用適當格式設定的數字。

即使已在屬性面板的數字格式設定下變更量值的數字格式，Qlik Sense 仍會記住欄位的原始數字格式。

若要進一步瞭解屬性面板，請參閱 [屬性面板](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Sheets/navigating-sheets.htm#Properti)。

針對各個資料類型的預設格式如下：

* 整數、浮點數：數字的預設設定
* 貨幣：貨幣的預設設定
* 時間、日期、時間戳記：ISO 標準格式設定

數字和貨幣的預設設定是透過指令碼數字解譯變數或作業系統設定 (控制面板) 所定義。

如需詳細資訊，請參閱[數字解譯變數](https://help.qlik.com/zh-TW/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 將資料解譯為日期或時間，就可在視覺化的屬性面板中變更為其他日期或時間格式。

因為資料沒有預先定義的格式，所以不同筆的記錄自然可能在相同欄位中包含不同格式化的資料。例如，可能在同一個欄位中就會發現有效的日期、整數和文字。因此資料不會進行格式設定，而是以原始形式顯示。