如何使用直接探索 (Direct Discovery) 建立列表框和表格方塊

列表框

可以使用維度 (DIMENSION) 欄位和量值 (MEASURE) 欄位來建立列表框。在列表框運算式中使用量值 (MEASURE) 欄位時,應該使用 aggr() 函數顯示量值 (MEASURE) 欄位與維度 (DIMENSION) 欄位兩者的彙總值。使用列表框中的維度 (DIMENSION) 欄位選取的選項會在資料來源上產生 SQL 查詢,以便在記憶體中建立相關聯的表格。

詳細資料 (DETAIL) 欄位無法用於列表框。

備註:

由於列表框只會顯示維度 (DIMENSION) 欄位的唯一值,因此 QlikView 產生來顯示列表框資料的查詢會使用 DISTINCT (相異) 關鍵字擷取資料庫的資料。不過,某些資料庫會要求查詢包含群組依據 (GROUP BY) 類別,而非包含相異 (DISTINCT) 關鍵字。如果 Direct Discovery 表格來自需要 GROUP BY 的資料庫,您可以使用 DirectDistinctSupport 變數來變更 DIMENSION 查詢的預設行為。

DirectDistinctSupport

表格方塊

表格方塊可顯示所有直接探索 (Direct Discovery) 欄位類型,並且可用來 向下探查包含直接探索 (Direct Discovery) 欄位的記錄詳細資料。Table Boxes are the only QlikView objects in which fields designated DETAIL in the Direct Queryload statement can be used.

在表格方塊中使用直接探索欄位時,會設定臨界值以限制所顯示的列數。預設臨界值為 1000 個記錄。預設臨界值設定可透過設定 DirectTableBoxListThresholdvariable in the load script. 例如︰

SET DirectTableBoxListThreshold=5000

此臨界值設定僅會套用至包含直接探索 (Direct Discovery) 欄位的表格方塊。僅包含記憶體內欄位的表格方塊不會受限於 DirectTableBoxListThreshold設定。

直到選項比臨界值限制的記錄要少的時候,表格方塊才會顯示欄位。

直接探索 (Direct Discovery) 欄位可以與表格方塊中的記憶體內欄位混用。僅包含直接探索 (Direct Discovery) 欄位的表格方塊必須包含維度 (DIMENSION) 欄位。

包含直接探索 (Direct Discovery) 資料的表格方塊會顯示所有選取的列,即使其中包含相同的資料也會全部顯示。另一方面,包含記憶體內資料的表格方塊有相同的資料時,只會顯示其中一個選取的列。