Direct Discovery alan listeleri

Alan listesi, alan teknik özelliklerinin virgülle ayrılmış listesidir (fieldname {, fieldname}). Alan teknik özelliği bir alan adı olabilir; bu durumda veritabanı sütun adı ve alan adı için aynı ad kullanılır. Veya alan teknik özelliği bir alan takma ismi olabilir; bu durumda veritabanı ifadesine veya sütun adına bir Qlik Sense alan adı verilir.

Alan adları, basit adlar veya alıntılanan adlar olabilir. Basit ad, alfabetik Unicode karakteriyle başlar ve bu karakteri alfabetik veya sayısal karakterlerden veya alt çizgilerden oluşan bir kombinasyon takip eder. Alıntılanan adlar çift tırnak işaretiyle başlar ve bir karakter dizisini içerir. Alıntılanan ad çift tırnak işareti içeriyorsa, bu tırnak işaretleri birbirine bitişik iki çift tırnak işareti kullanılarak gösterilir.

Qlik Sense alan adları büyük/küçük harf duyarlıdır. Veritabanı alan adları, veritabanına bağlı olarak büyük/küçük harf duyarlı olabilir veya olmayabilir. Direct Discovery sorgusu tüm alan tanımlayıcılarının ve takma isimlerinin büyük/küçük harf durumunu korur. Aşağıdaki örnekte "MyState" takma ismi, "STATEID" adlı veritabanı sütunundan verileri depolamak üzere dahili olarak kullanılır.

DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
 

Bunun sonucu, takma isim içeren bir SQL Select deyiminin sonucundan farklıdır. Takma isim açıkça alıntılanmazsa sonuç, hedef veritabanının döndürdüğü sütunun varsayılan büyük/küçük harf durumunu içerir. Aşağıdaki örnekte Oracle veritabanına yönelik bir SQL Select deyimi, takma isim büyük/küçük harf karışık olarak belirtilmesine karşın, dahili Qlik Sense takma ismi olarak tümü büyük harflerle yazılan "MYSTATE," öğesini oluşturur. SQL Select deyimi veritabanı tarafından döndürülen sütun adını kullanır ve bu durumda Oracle için tümü büyük harf olur.

SQL Select STATEID as MyState, STATENAME from STATE_TABLE;
 

Bu davranıştan kaçınmak amacıyla takma ismi belirtmek için LOAD deyimini kullanın.

Load STATEID as MyState, STATENAME;
SQL Select STATEID, STATEMENT from STATE_TABLE;
 

Bu örnekte, "STATEID" sütunu dahili olarak Qlik Sense tarafından "MyState" şeklinde depolanır.

Veritabanı skaler ifadelerinin çoğuna alan teknik özelliği olarak izin verilir. Fonksiyon çağrıları da alan teknik özellikleri olarak kullanılabilir. İfadeler tekli tırnak işaretleri içinde içerilen boole, sayısal veya dizeler olan sabitleri içerebilir (eklenmiş tekli tırnak işaretleri birbirine bitişik tekli tırnak işaretleriyle gösterilir).

Examples:  

DIRECT QUERY
DIMENSION
SalesOrderID, RevisionNumber
MEASURE
SubTotal AS "Sub Total"
FROM AdventureWorks.Sales.SalesOrderHeader;

 

DIRECT QUERY
DIMENSION
"SalesOrderID" AS "Sales Order ID"
MEASURE
SubTotal,TaxAmt,(SubTotal-TaxAmt) AS "Net Total"
FROM AdventureWorks.Sales.SalesOrderHeader;

 

DIRECT QUERY
DIMENSION
(2*Radius*3.14159) AS Circumference,
Molecules/6.02e23 AS Moles
MEASURE
Num1 AS numA
FROM TableName;

 

DIRECT QUERY
DIMENSION
concat(region, 'code') AS region_code
MEASURE
Num1 AS NumA
FROM TableName;

Direct Discovery, LOAD deyimlerinde toplamaları kullanmayı desteklemez. Toplamalar kullanılırsa sonuçlar öngörülemez olur. Aşağıdaki gibi bir LOAD deyimi kullanılmamalıdır:

DIRECT QUERY DIMENSION stateid, SUM(amount*7) AS MultiFirst MEASURE amount FROM sales_table;

SUM öğesi LOAD deyimi içinde olmamalıdır.

Direct Discovery, Direct Query deyimlerinde Qlik Sense fonksiyonlarını da desteklemez. Örneğin, DIMENSION alanı için aşağıdaki teknik özellik, "Mth" alanının bir görselleştirmede boyut olarak kullanılması halinde hatayla sonuçlanır:

month(ModifiedDate) as Mth