Direct Discovery 欄位清單
欄位清單是以逗號分隔的欄位規格清單,fieldname {, fieldname}。欄位規格可以是欄位名稱,在此情況下,相同名稱會用於資料庫資料行名稱和欄位名稱。欄位規格也可以是「欄位別名」,在此情況下,資料庫運算式或資料行名稱會使用 Qlik Sense 欄位名稱。
欄位名稱可以是簡單名稱或引用名稱。簡單名稱以一個字母 Unicode 字元開頭,後面接著字母字元、數字字元或底線的任意組合。引用名稱以一個雙引號開頭,然後包含任何的字元序列。如果引用名稱包含雙引號,這些雙引號會以兩個相鄰的雙引號表示。
Qlik Sense 欄位名稱區分大小寫。資料庫欄位名稱不一定區分大小寫,需視資料庫而定。Direct Discovery 查詢會保留所有欄位識別碼和別名的大小寫。以下範例中,別名 "MyState" 會在內部使用,以儲存來自資料庫資料行 "STATEID" 的資料。
這跟使用別名的 SQL Select 陳述式的結果不同。如果別名未明確引用,則結果會包含目標資料庫傳回之資料行的預設大小寫。以下範例中,針對 Oracle 資料庫的 SQL Select 陳述式會建立 "MYSTATE," (全大寫字母) 作為內部 Qlik Sense 別名,雖然指定的別名是大小寫混合的。SQL Select 陳述式會使用資料庫傳回的資料行名稱,在 Oracle 的情況下為全大寫。
若要避免這種行為,可使用 LOAD 陳述式來指定別名。
SQL Select STATEID, STATEMENT from STATE_TABLE;
在此範例中,Qlik Sense 會將 "STATEID" 資料行內部儲存為 "MyState"。
大部分的資料庫純量運算式都允許作為欄位規格。函數呼叫也可用於欄位規格。運算式可包含布林值常數、數值常數,或置於單引號內的字串常數 (內嵌單引號以相鄰的單引號表示)。
範例:
Direct Discovery 不支援在 LOAD 陳述式中使用彙總。若使用彙總,結果會無法預期。不得使用下列 LOAD 陳述式︰
SUM 不得在 LOAD 陳述式中。
Direct Discovery 也不支援 Qlik Sense 函數用於 Direct Query 陳述式中。例如,當 "Mth" 欄位用作視覺化中的維度時,以下 DIMENSION 欄位的規格會導致失敗︰