直接探索 變數
直接探索 系統變數
您可針對圖表設定 直接探索 查詢結果的快取限制。一旦達到此時間限制,QlikView 就會在執行新的 直接探索 查詢時清除快取。QlikView 會針對選項查詢來源資料,然後為指定的時間限制再次建立快取。每個選項組合的結果都會個別快取。也就是說,各個選項會個別重新整理快取;所以第一個選項只針對所選的欄位重新整理快取,而第二個選項則針對其相關欄位重新整理快取。如果第二個選項包含第一個選項已重新整理的欄位,則在快取限制尚未達到前,這些欄位不會在快取中再次更新。
直接探索 快取不會套用至表格圖表。表格選項每次都會查詢資料來源。
限制值必須以秒為單位進行設定。預設的快取限制為 1800 秒 (30 分鐘)。
用於 DirectCacheSeconds 的值是在執行 DIRECT QUERY 陳述式當下所設定的值。該值在執行階段無法變更。
範例:
透過連接共用功能,即可對資料庫執行非同步的平行呼叫。設定共用功能的載入指令碼語法如下所示︰
該數值設定會指定直接探索程式碼在更新工作表時,可使用之資料庫連接的數目上限。預設設定為 1。
透過使用針對延伸字元字串常值的 SQL 標準格式 (N'<延伸字串>'),直接探索就可支援對延伸 Unicode 資料的選取;這是部分資料庫 (尤其是 SQL Server) 的要求。直接探索 可透過指令碼變數 DirectUnicodeStrings 來使用這個語法。
設定此變數為 'True',即可在字串常值前使用 ANSI 標準寬字元標記 “N”。並非所有資料庫都支援此標準。預設設定為 'False'。
在 QlikView 物件中選取 DIMENSION 欄位值時,即會針對來源資料庫產生查詢。當查詢需要分組時,直接探索 會使用 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 Query 陳述式中作為欄位分隔符號的字元,以用於需要逗號之外的字元作為欄位分隔符號的資料庫。指定的字元必須在 SET 陳述式中以單引號括住。
您可指定在產生的查詢中要用於引用字串的字元。預設為單引號。指定的字元必須在 SET 陳述式中以單引號括住。
您可以指定要在產生的查詢中使用的識別碼非 ANSI 引號。目前唯一可用的非 ANSI 引號為 GoogleBQ。預設為 ANSI。大寫、小寫及大小寫混合皆可使用 (ANSI, ansi, Ansi)。
例如,以下 SELECT 陳述式會使用 ANSI 引號︰
若 DirectIdentifierQuoteStyle 設為 "GoogleBQ",則 SELECT 陳述式會使用如下的引號︰
您可指定在產生的查詢中控制識別碼引號的字元。這可設為一個字元 (如雙引號) 或兩個字元 (如一對方括弧)。預設為雙引號。
在表格圖表中使用 Direct Discovery 欄位時,會設定臨界值以限制所顯示的列數。預設臨界值為 1000 個記錄。預設臨界值設定可透過設定載入指令碼中的 DirectTableBoxListThreshold 變數來進行變更。例如︰
此臨界值設定僅會套用至包含 直接探索 欄位的表格圖表。僅包含記憶體內欄位的表格圖表不會受限於 DirectTableBoxListThreshold 設定。
直到選項比臨界值限制的記錄要少的時候,表格圖表才會顯示欄位。
直接探索 數字解譯變數
此定義的小數分隔符號可取代將使用 直接探索 載入資料而產生的 SQL 陳述式中所用的貨幣小數符號。此字元必須符合 DirectMoneyFormat 中使用的字元。
預設值為 '.'
範例:
此定義的符號可取代將使用 直接探索 載入資料而產生的 SQL 陳述式中所用的貨幣格式。不應該包含千位分隔符號的貨幣符號。
預設值為 '#.0000'
範例:
此定義的時間格式可取代將使用 直接探索 載入資料而產生的 SQL 陳述式中所用的時間格式。
範例:
此定義的日期格式可取代將使用 直接探索 載入資料而產生的 SQL 陳述式中所用的日期格式。
範例:
Set DirectDateFormat='MM/DD/YYYY';
此定義的格式可取代將使用 直接探索 載入資料而產生的 SQL 陳述式中所用的日期和時間格式。
範例:
Set DirectTimestampFormat='M/D/YY hh:mm:ss[.fff]';