跳到主要內容

檢視並轉換資料模型

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

在導覽列的準備索引標籤之下按一下資料模型檢視器,以開啟資料模型檢視器。

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

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

Data model viewer.

您可以透過按一下 zoom inzoom out或使用滑桿,來變更縮放層級。按一下 Home將縮放層級還原為 1:1。

在預覽窗格中,您可以查看表格或欄位的內容。如果您選擇某個欄位,也可以將維度與量值新增至應用程式。如需詳細資訊,請參閱在資料模型檢視器中預覽表格與欄位

移動表格

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

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

您也可以透過使用工具列中 Grid View 下的選項,自動安排版面配置:

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

調整表格的大小

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

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

調整表格大小的選項
UI 項目 名稱 描述
Collapse 全部摺疊 用來最小化所有表格以僅顯示表格名稱。
Reduce  顯示連結的欄位 用來減小所有表格的大小,以顯示表格名稱及所有與其他表格有關聯的欄位。
Expand  全部展開 用來最大化所有表格,以顯示表格中的所有欄位。

資料模型效能

資料模型效能

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

資料模型效能最佳做法
動作 描述

移除合成鍵

若兩個或更多資料表格共同擁有兩個或更多欄位,則 Qlik Sense 會建立合成鍵。這可能表示指令碼或資料模型中發生錯誤。若要診斷合成鍵,請參閱 合成鍵

從資料模型中移除循環參照

若兩個欄位具有多個關聯,就會發生循環參照。Qlik Sense 將嘗試變更與其中一個表格的連線,以解決這些事項。不過,應解決所有循環參照警告,請參閱 瞭解和解決循環參照

適當的資料精細度

您只能載入必要資料。例如:使用者群組只需要依週、月和年分割的資料。您可以在彙總資料中載入,或在載入指令碼內彙總資料以節省記憶體。若使用者的確需要以較低的精細度視覺化資料,可以使用 ODAG 或文件鏈結。

在可行情況下使用的 QVDs

QVD 是包含從 Qlik Sense 所匯出之資料表格的檔案。從指令碼讀取資料時,此檔案格式的速度已經過最佳化處理,但是仍然十分精簡。從 QVD 檔案讀取資料通常比從其他資料來源讀取資料快 10-100 倍。如需詳細資訊,請參閱 使用 QVD 檔案

在載入時最佳化的 QVD 檔案

可用兩種模式讀取 QVD 檔案:標準 (快速) 與最佳化 (更快速)。指令碼引擎會自動決定選取的模式。

關於最佳化載入有一些限制。可以重新命名欄位,但這些操作都會造成標準載入:

  • 載入欄位上的任何轉換。
  • 使用造成 Qlik Sense 解壓縮記錄的 where 子句。
  • 在載入的欄位上使用對應

運用累加載入

如果您的應用程式連線至大量來自持續更新的資料庫的資料,載入整個資料集會相當耗時。您應改用累加載入,以從資料庫中擷取新記錄或變更的記錄。如需詳細資訊,請參閱 使用累加載入載入新的和更新的記錄

合併 Snowflake 模型

若您有 Snowflake 資料模型,可以使用 Join 前置詞或其他對應,以減少資料表格數量。然後可以刪除冗餘資料表格。如需更多資訊,請參閱是否合併

將具有較少欄位數的表格去正常化

若您有兩個含有少數欄位的表格,合併它們可改善效能。如需詳細資訊,請參閱 使用 Join 與 Keep 來合併表格

具有對應載入的去正常化查閱 (分葉) 表格

若您只需要將一個欄位從某個表格新增至另一個表格,則不應使用 Join 前置詞。您應使用 ApplyMap 查閱函數,請參閱請勿合併 - 使用 ApplyMap

將時間戳記移除或從日期欄位解耦

若時間戳記透過擁有較大的值而存在,並透過相異的時間戳記值而有不必要的唯一性,則日期欄位可填入空白。若時間戳記對於分析並非必要內容,可以使用 Date(Floor(YourDateField)) 移除。若您還是想要時間戳記,可以從日期本身解耦。您可以使用相同的 Floor() 函數,然後沿用以下文字行,透過擷取的時間戳記建立新欄位:Time(Frac(Timestamp#(YourDateField,'MM/DD/YYYY h:mm:ss TT')))

從資料模型中移除不必要的欄位

您只能在資料模型中載入必要欄位。避免使用 SELECT。確認您保留:

  • 對分析有必要的欄位。
  • 實際用於應用程式的欄位。

在處理大量資料時避免連結表格

您應在可行情況下使用連結表格。不過,若您處理大量資料,串連表格會超過連結表格的效能。

串連維度分為新的欄位

您應將串連維度分為獨立的欄位。這可減少欄位中值的唯一發生次數。這與最佳化時間戳記的方式類似。

在可行情況下使用的 AutoNumber

您可以先從 QVD 檔案載入資料,以建立最佳載入,然後使用 AutoNumber 陳述式以將值轉換為符號鍵。如需詳細資訊,請參閱 AutoNumberAutoNumber

避免資料島

資料島很實用,但通常會影響效能。若您正在建立用於選項值的島,請使用變數。

QVD 根據累加時間範圍來儲存。

您應以區段儲存 QVD,例如每月。然後這些較小的每月 QVD 可支援許多可能不需要所有資料的不同應用程式。

如需進一步瞭解最佳做法,請參閱 資料模型化的最佳做法