Direct Discovery 變數
Direct Discovery 系統變數
您可針對視覺化設定 Direct Discovery 查詢結果的快取限制。一旦達到此時間限制,Qlik Sense 會在執行新的 Direct Discovery 查詢時清除快取。Qlik Sense 會針對選項查詢來源資料,然後為指定的時間限制再次建立快取。每個選項組合的結果都會個別快取。也就是說,各個選項會個別重新整理快取;所以第一個選項只針對所選的欄位重新整理快取,而第二個選項則針對其相關欄位重新整理快取。如果第二個選項包含第一個選項已重新整理的欄位,則在快取限制尚未達到前,這些欄位不會在快取中再次更新。
Direct Discovery 快取不會套用至表格視覺化。表格選項每次都會查詢資料來源。
限制值必須以秒為單位進行設定。預設的快取限制為 1800 秒 (30 分鐘)。
用於 DirectCacheSeconds 的值是在執行 DIRECT QUERY 陳述式當下所設定的值。該值在執行階段無法變更。
範例:
透過連接共用功能,即可對資料庫執行非同步的平行呼叫。設定共用功能的載入指令碼語法如下所示︰
該數值設定會指定 Direct Discovery 程式碼在更新工作表時,可使用之資料庫連接的數目上限。預設設定為 1。
透過使用針對延伸字元字串常值的 SQL 標準格式 (N'<延伸字串>'),Direct Discovery 就可支援對延伸 Unicode 資料的選取;這是部分資料庫 (尤其是 SQL Server) 的要求。Direct Discovery 可透過指令碼變數 DirectUnicodeStrings 來使用這個語法。
設定此變數為 'True',即可在字串常值前使用 ANSI 標準寬字元標記 “N”。並非所有資料庫都支援此標準。預設設定為 'False'。
在 Qlik Sense 物件中選取 DIMENSION 欄位值時,即會針對來源資料庫產生查詢。當查詢需要分組時,Direct Discovery 會使用 DISTINCT 關鍵字,以僅選取唯一值。不過,部分資料庫必須使用 GROUP BY 關鍵字。將 DirectDistinctSupport 設為 'false',即可在用於唯一值的查詢中產生 GROUP BY,而非 DISTINCT。
如果將 DirectDistinctSupport 設為 True,則會使用 DISTINCT。若未設定,預設行為是使用 DISTINCT。
在高基數的多表格案例中,可能會在 SQL 查詢中產生子查詢,而非產生較大的 IN 子句。這可透過將 DirectEnableSubquery 設定為 'true' 啟用。預設值為 'false'。
Teradata 查詢級區變數
Teradata 查詢級區是能讓企業應用程式與基礎 Teradata 資料庫共同作業的功能,可提供更有效的計量、優先順序及工作負載管理。透過查詢級區,您可在查詢周圍包覆中繼資料,例如使用者認證。
有兩個變數可供使用,這兩個變數都是經過評估並傳送至資料庫的字串。
此字串會在建立資料庫的連線時傳送。
舉例來說,如果 OSuser() 傳回 WA\sbt,這將會被評估為 SET QUERY_BAND = 'Who=WA\sbt;' FOR SESSION;,並於建立連線時傳送至資料庫。
此字串會針對每一個查詢傳送。
Direct Discovery 字元變數
您可設定 Direct Query 陳述式中作為欄位分隔符號的字元,以用於需要逗號之外的字元作為欄位分隔符號的資料庫。指定的字元必須在 SET 陳述式中以單引號括住。
您可指定在產生的查詢中要用於引用字串的字元。預設為單引號。指定的字元必須在 SET 陳述式中以單引號括住。
您可以指定在產生的查詢中要使用的識別碼非 ANSI 引號。目前唯一可用的非 ANSI 引號在 GoogleBQ 中提供。預設為 ANSI。大寫、小寫及大小寫混合皆可使用 (ANSI, ansi, Ansi)。
例如,以下 SELECT 陳述式會使用 ANSI 引號︰
若 DirectIdentifierQuoteStyle 設為 "GoogleBQ",則 SELECT 陳述式會使用如下的引號︰
您可指定在產生的查詢中控制識別碼引號的字元。這可設為一個字元 (如雙引號) 或兩個字元 (如一對方括弧)。預設為雙引號。
在表格視覺化中使用 Direct Discovery 欄位時,會設定臨界值以限制所顯示的列數。預設臨界值為 1000 個記錄。預設臨界值設定可透過在載入指令碼中設定 DirectTableBoxListThreshold 進行變更。例如︰
此臨界值設定僅會套用至包含 Direct Discovery 欄位的表格視覺化。僅包含記憶體內欄位的表格視覺化不會受限於 DirectTableBoxListThreshold 設定。
直到選項比臨界值限制的記錄要少的時候,表格視覺化才會顯示欄位。
Direct Discovery 數字解譯變數
此定義的小數點分隔符號可取代將使用 Direct Discovery 載入資料而產生的 SQL 陳述式中所用的貨幣小數符號。此字元必須符合 DirectMoneyFormat 中使用的字元。
預設值為 '.'
範例:
此定義的符號可取代將使用 Direct Discovery 載入資料而產生的 SQL 陳述式中所用的貨幣格式。不應該包含千位分隔符號的貨幣符號。
預設值為 '#.0000'
範例:
此定義的時間格式可取代將使用 Direct Discovery 載入資料而產生的 SQL 陳述式中所用的時間格式。
範例:
此定義的日期格式可取代將使用 Direct Discovery 載入資料而產生的 SQL 陳述式中所用的日期格式。
範例:
Set DirectDateFormat='MM/DD/YYYY';
此定義的格式可取代將使用 Direct Discovery 載入資料而產生的 SQL 陳述式中所用的日期和時間格式。
範例:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';