Direct Query

DIRECT QUERY deyimi, ODBC veya OLE DB bağlantısı aracılığıyla ve Direct Discovery işlevini kullanarak tablolara erişmenize izin verir.

Syntax:  

DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist[DETAIL fieldlist] FROM tablelist

[WHERE where_clause]

 

DIMENSION, MEASURE ve DETAIL anahtar sözcükleri istenen sırada kullanılabilir.

DIMENSION ve FROM anahtar sözcük cümleleri tüm DIRECT QUERY deyimlerinde gereklidir. FROM anahtar sözcüğü DIMENSION anahtar sözcüğünden sonra görünmelidir.

DIMENSION anahtar sözcüğünden hemen sonra belirtilen alanlar belleğe yüklenir ve bellek içi ile Direct Discovery verileri arasında ilişkiler oluşturmak için kullanılabilir.

Note: DIRECT QUERY deyimi DISTINCT veya GROUP BY cümlelerini içeremez.

MEASURE anahtar sözcüğünü kullanarak Qlik Sense uygulamasının "meta düzeyinde" farkında olduğu alanlar tanımlayabilirsiniz. Bir hesaplama alanının gerçek verileri, veri yükleme işlemi sırasında yalnızca veritabanında bulunur ve bir görselleştirmede kullanılan grafik ifadelerinin yönlendirmesiyle "amaca özel" (ad hoc) esasına göre getirilir.

Genellikle, boyut olarak kullanılacak ayrık değerli alanların DIMENSION anahtar sözcüğüyle yüklenmesi gerekirken, toplamalarda kullanılacak sayıların yalnızca MEASURE anahtar sözcüğüyle seçilmesi gerekir.

DETAIL alanları kullanıcının detaya inme tablo kutusunda görüntülemek isteyebileceği bilgileri veya ayrıntıları (yorum alanları gibi) sağlar. DETAIL alanları grafik ifadelerinde kullanılamaz.

Tasarım olarak, DIRECT QUERY deyimi, SQL desteği sağlayan veri kaynakları için veri kaynağı açısından tarafsızdır. Bu nedenle, aynı DIRECT QUERY deyimi, değişiklik olmadan farklı SQL veritabanları için kullanılabilir. Direct Discovery, veritabanına uygun sorguları gerektiği gibi oluşturur.

Kullanıcı sorgulanacak veritabanını bildiğinde ve SQL'e yönelik veritabanına özgü uzantıların açıklarından yararlanmak istediğinde yerel veri kaynağı söz dizimi kullanılabilir. Yerel veri kaynağı söz dizimi şu şekilde desteklenir:

  • DIMENSION ve MEASURE cümlelerinde alan ifadeleri olarak
  • WHERE cümlesinin içeriği olarak

Örnekler:

DIRECT QUERY
DIMENSION Dim1, Dim2
MEASURE
NATIVE ('X % Y') AS X_MOD_Y
FROM TableName
DIRECT QUERY
DIMENSION Dim1, Dim2
MEASURE X, Y
FROM TableName
WHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Note: Şu terimler anahtar sözcük olarak kullanılır ve bu nedenle alıntılanmadan sütun veya alan adları olarak kullanılamaz: and, as, detach, detail, dimension, distinct, from, in, is, like, measure, native, not, or, where

Arguments:  

Bağımsız Değişken Açıklama
fieldlist

Alan teknik özelliklerinin virgülle ayrılmış listesi, fieldname {, fieldname}. Alan teknik özelliği bir alan adı olabilir; bu durumda veritabanı sütun adı ve Qlik Sense 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.

Direct Discovery alan listeleri

tablelist

Verilerin yükleneceği veritabanındaki tablo veya görünüm adlarının bir listesi. Genellikle, veritabanında gerçekleştirilen JOIN'i içeren bir görünümdür.

where_clause

Veritabanı WHERE cümlelerinin tam söz dizimi burada tanımlanmamaktadır; ancak çoğu SQL "ilişkisel ifadesine" izin verilir; fonksiyon çağrıları, dizeler için LIKE işleci, IS NULL ile IS NOT NULL ve IN. BETWEEN kullanımları da buna dahildir.

NOT, belirli anahtar sözcükler üzerindeki değiştiricinin aksine birli işleçtir.

Örnekler:

WHERE x > 100 AND "Region Code" IN ('south', 'west')
WHERE Code IS NOT NULL and Code LIKE '%prospect'
WHERE NOT X in (1,2,3)

Son örnek aşağıdaki gibi yazılamaz:

WHERE X NOT in (1,2,3)

Example:  

Bu örnekte Dim1, Dim2, Num1, Num2 ve Num3 alanlarını içeren TableName adında bir veritabanı tablosu kullanılmaktadır.Dim1 ve Dim2, Qlik Sense veri kümesine yüklenir

DIRECT QUERY DIMENSTION Dim1, Dim2 MEASURE Num1, Num2, Num3 FROM TableName ;
 

Dim1 ve Dim2 boyut olarak kullanıma açık olacaktır. Num1, Num2 ve Num3 toplamalar için kullanılabilecektir. Dim1 ve Dim2 de toplamalar için kullanılabilecektir. Dim1 ve Dim2 öğelerinin kullanılabildiği toplamaların türü bunların veri türlerine göre değişir. Örneğin, birçok durumda DIMENSION alanları adlar veya hesap numaraları gibi dize verilerini içerir. Bu alanlar toplanamaz, ancak sayılabilir: count(Dim1).

Note: DIRECT QUERY deyimleri doğrudan kod düzenleyicisinde yazılır. DIRECT QUERY deyimlerinin oluşturulmasını basitleştirmek amacıyla bir veri bağlantısından SELECT deyimi oluşturabilir ve ardından, oluşturulan kodu düzenleyerek bir DIRECT QUERY deyimine dönüştürebilirsiniz.
Örneğin, SELECT deyimi:

SQL SELECT
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;


şu DIRECT QUERY deyimine dönüştürülebilir:

DIRECT QUERY
DIMENSION
SalesOrderID,
RevisionNumber

MEASURE
SubTotal,
TaxAmt

DETAIL
OrderDate

FROM MyDB.Sales.SalesOrderHeader;