# 檢視並轉換資料模型

資料模型檢視器是應用程式資料結構的概述。您可以檢視關於表格和欄位的詳細中繼資料。您也可以從資料欄位建立維度及量值。

在應用程式導覽功能表中按一下資料模型檢視器，以開啟資料模型檢視器。

每個資料表格都由一個方塊表示，將表格名稱作為標題，並列出表格中的所有欄位。表格關聯以線條顯示，並且虛線表示循環參照。當您選取表格或欄位時，關聯的醒目提示會立即為您提供欄位與表格的相關圖。您可以按一下 the 搜尋資料模型 icon，以搜尋特定表格和欄位。

資料模型顯示應用程式的資料結構。

資料模型顯示應用程式的資料結構。

資料模型顯示應用程式的資料結構。 ![資料模型檢視器。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_data_model_viewer.png)

您可以透過按一下 the 放大 icon、the 縮小 icon 或使用滑桿，來變更縮放層級。按一下 the 首頁 icon 將縮放層級還原為 1:1。

在預覽窗格中，您可以查看表格或欄位的內容。如果您選擇某個欄位，您也可以將維度與量值新增至應用程式。如需詳細資訊，請參閱[在資料模型檢視器中預覽表格與欄位](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataModeling/preview-tables-fields-data-model-viewer.htm)。

## 移動表格

您可以透過將表格拖曳至畫布上來移動表格。儲存應用程式時，將儲存表格位置。

您可以透過按一下畫布右側中的 the 已鎖定 icon，來鎖定表格版面配置 (位置與大小)。若要解除鎖定表格版面配置，請按一下 the 已解鎖 icon。

您也可以透過使用工具列中 the 格線檢視 icon 下的選項，自動安排版面配置：

移動表格的選項

| UI 項目 | 名稱 | 描述 |
| --- | --- | --- |
| the 格線檢視 icon | 格線版面配置 | 用來在網格中安排表格。 |
| the 自動 icon | 自動版面配置 | 用來安排表格以適合視窗大小。 |
| the 時間 icon | 還原版面配置 | 用來還原上次資料模型檢視器開啟時呈現的版面配置狀態。 |

## 調整表格的大小

您可以使用表格右下角中的箭頭，調整表格的顯示大小。儲存應用程式時不會儲存顯示大小。

您也可以使用工具列中的自動顯示大小選項：

調整表格大小的選項

| UI 項目 | 名稱 | 描述 |
| --- | --- | --- |
| the 摺疊 icon | 全部摺疊 | 用來最小化所有表格以僅顯示表格名稱。 |
| the 減少 icon | 顯示連結的欄位 | 用來減小所有表格的大小，以顯示表格名稱及所有與其他表格有關聯的欄位。 |
| the 展開 icon | 全部展開 | 用來最大化所有表格，以顯示表格中的所有欄位。 |

## 資料模型效能

以下是可影響資料模型效能的指標。每一項是改善應用程式可用性的最佳做法。

資料模型效能最佳做法

| 動作 | 描述 |
| --- | --- |
| 移除合成鍵 | 若兩個或更多資料表格共同擁有兩個或更多欄位，則 Qlik Sense 會建立合成鍵。這可能表示指令碼或資料模型中發生錯誤。若要診斷合成鍵，請參閱 [合成鍵](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/synthetic-keys.htm)。 |
| 從資料模型中移除循環參照 | 若兩個欄位具有多個關聯，就會發生循環參照。Qlik Sense 將嘗試變更與其中一個表格的連線，以解決這些事項。然而，所有循環參照警告都應解決，請參閱 [瞭解和解決循環參照](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/understand-circular-references.htm)。 |
| 適當的資料精細度 | 您只能載入必要資料。例如：使用者群組只需要依週、月和年分割的資料。您可以在彙總資料中載入，或在載入指令碼內彙總資料以節省記憶體。若使用者的確需要以較低的精細度視覺化資料，可以使用 ODAG 或文件鏈結。 |
| 在可行情況下使用的 QVDs | QVD 是包含從 Qlik Sense 所匯出之資料表格的檔案。從指令碼讀取資料時，此檔案格式的速度已經過最佳化處理，但是仍然十分精簡。從 QVD 檔案讀取資料通常比從其他資料來源讀取資料快 10-100 倍。如需詳細資訊，請參閱 [使用 QVD 檔案](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-QVD-files.htm)。 |
| 在載入時最佳化的 QVD 檔案 | 可用兩種模式讀取 QVD 檔案：標準 (快速) 與最佳化 (更快速)。指令碼引擎會自動決定選取的模式。<br><br>關於最佳化載入有一些限制。可以重新命名欄位，但這些操作都會造成標準載入：<br><br><ul><li>載入欄位上的任何轉換。 </li><li>使用造成 <span>Qlik Sense</span> 解壓縮記錄的 <span>where</span> 子句。 </li><li>在載入的欄位上使用<span>對應</span>。</li></ul> |
| 運用累加載入 | 如果您的應用程式連線至大量來自持續更新的資料庫的資料，載入整個資料集會相當耗時。您應改用累加載入，以從資料庫中擷取新記錄或變更的記錄。如需詳細資訊，請參閱 [使用累加載入載入新的和更新的記錄](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/use-QVD-files-incremental-load.htm)。 |
| 合併 Snowflake 模型 | 若您有 Snowflake 資料模型，可以使用 Join 前置詞或其他對應聯結其中某些內容，以減少資料表格數量。這對於大型事實資料表特別重要。良好的縮圖規則是只有一個大型表格。如需更多資訊，請參閱[是否合併](https://community.qlik.com/t5/Qlik-Design-Blog/To-Join-or-not-to-Join/ba-p/1463102)。 |
| 將具有較少欄位數的表格去正常化 | 若您有兩個含有少數欄位的表格，合併它們可改善效能。如需詳細資訊，請參閱 [使用 Join 與 Keep 來合併表格](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-with-join-keep.htm)。 |
| 具有對應載入的去正常化查閱 (分葉) 表格 | 若您只需要將一個欄位從某個表格新增至另一個表格，則不應使用 Join 前置詞。您應使用 ApplyMap 查閱函數，請參閱[請勿合併 - 使用 ApplyMap](https://community.qlik.com/t5/Qlik-Design-Blog/Don-t-join-use-Applymap-instead/ba-p/1467592)。 |
| 將時間戳記移除或從日期欄位解耦 | 若時間戳記存在，則日期欄位可以空白，因為字串表示較大，且相異值數量較大。若精確性對於分析沒有必要，可以將時間戳記四捨五入，例如使用 Timestamp(Floor(YourTimestamp,1/24)) 四捨五入為最近的小時，或使用 Date(Floor(YourTimestamp)) 完全移除時間元件。<br><br>若您想要時間戳記，可以從日期本身解耦。您可以使用相同的 Floor() 函數，然後沿用以下文字行，透過擷取的時間建立新欄位：Time(Frac(YourTimestamp))。 |
| 從資料模型中移除不必要的欄位 | 您只能在資料模型中載入必要欄位。避免使用 Load \* 和 SELECT。確認您保留：<br><br><ul> <li>對分析有必要的欄位。</li> <li>應用程式中實際使用的欄位。 </li> </ul> |
| 在處理大量資料時避免連結表格 | 您應在可行情況下使用連結表格。不過，若您處理大量資料，串連表格會超過連結表格的效能。 |
| 串連維度分為新的欄位 | 您應將串連維度分為獨立的欄位。這可減少欄位中值的唯一發生次數。這與最佳化時間戳記的方式類似。 |
| 在可行情況下使用的 AutoNumber | 您可以先從 QVD 檔案載入資料，以建立最佳載入，然後使用 AutoNumber 陳述式以將值轉換為符號鍵。如需詳細資訊，請參閱 [AutoNumber](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Autonumber.htm)。 |
| 避免資料島 | 資料島很實用，但通常會影響效能。若您正在建立用於選項值的島，請使用變數。 |
| QVD 根據累加時間範圍來儲存。 | 您應以區段儲存 QVD，例如每月。然後這些較小的每月 QVD 可支援許多可能不需要所有資料的不同應用程式。 |

如需進一步瞭解最佳做法，請參閱 [資料模型化的最佳做法](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataModeling/best-practices-data-modeling.htm)。

相關學習內容：

* [資料模型檢視器簡介](https://help.qlik.com/lnk/Intro_Data_Model_Viewer_QS)
* [從資料庫載入資料](https://help.qlik.com/lnk/Loading_data_from_database_QS)

## 瞭解更多資訊

* [資料模型檢視器簡介](https://help.qlik.com/lnk/Intro_Data_Model_Viewer_QS)
* [從資料庫載入資料](https://help.qlik.com/lnk/Loading_data_from_database_QS)