QlikWorld 2020 Global Konferans. Verilerinizden en iyi şekilde nasıl yararlanacağınızı keşfetmek için bize katılın. Fırsatı kaçırmayın. Şimdi kaydolun ve indirimden yararlanın.

İsteğe bağlı şablon uygulama oluşturma

İsteğe bağlı bir şablon uygulama ile normal bir Qlik Sense uygulaması arasında tek bir fark vardır: Şablon uygulamasının yükleme komut dosyası, veri kaynakları üzerinde gerçekleştirilen sorguları düzenlemek için kullanılan veri bağlama ifadelerini içerir. Bu veri bağlama ifadeleri, verilerin kullanıcı denetimli bir alt kümesinin, oluşturulan uygulamaya yüklenmesi için seçim uygulamasının seçim durumundan değerlerin okunması ve bunların şablon uygulama koduna bağlanması için isteğe bağlı uygulama oluşturma zamanında kullanılır.

Şablon uygulama genellikle seçim uygulaması ile aynı veri kaynağına bağlanır. Bir seçim uygulamasının komut dosyası, genellikle veri hacimlerini azaltmak için toplanmış veriler yüklerken önemli boyut ve hesaplamaların etkileşimli görselleştirmelerini sunmayı da sürdürür. Bir şablon uygulamanın komut dosyası, daha ayrıntılı verilerin kontrollü bir alt kümesini yükleyen sorgular kullanır.

Note: İsteğe bağlı bir şablon uygulama, verileri doğrudan yüklemez. Şablon uygulamadan veri yükleme girişimi, hataya yol açar. Şablon uygulama bağlantısı geçerli olmalıdır, ancak bağlantının düzgün çalışıp çalışmadığını test etmek için bir isteğe bağlı uygulama oluşturmanız gerekir. İsteğe bağlı uygulama oluşturulduğunda, isteğe bağlı seçim uygulamasının seçim durumunun yüklenmesi için komut dosyası, isteğe bağlı uygulama hizmeti tarafından değiştirilir. İsteğe bağlı uygulama hatasız bir biçimde oluşturulursa, şablon uygulamadaki bağlantıların düzgün çalıştığını anlarsınız.

Şablon uygulamasının yapısı

Şablon uygulaması, seçim uygulamasına bir isteğe bağlı uygulama navigasyon bağlantısı kullanarak bağlanır. Uygulama navigasyon bağlantısı, veriler isteğe bağlı uygulamaya yüklendiğinde sorgulanan kayıt sayısını denetleyen özellikler içerir. Şablon uygulamanın komut dosyası, veri bağlama ifadeleri içerir. Bu ifadeler, veriler isteğe bağlı uygulamaya yüklenirken oluşturulan sorguları düzenlemek için seçim uygulamasındaki hangi alan verilerinin kullanıldığını belirtir.

Note: ProgramData\Qlik\Examples\OnDemandApp\sample konumundaki Qlik Sense yüklemesine, isteğe bağlı şablon uygulaması örneği eklenmiştir.

Veri bağlama ifadeleri şu biçimdedir:

$(od_FIELDNAME)

od_ ön eki, seçim uygulamasının seçim durumunun, şablon uygulama kopyalanarak oluşturulan On-demand uygulamasının yükleme komut dosyasına bağlanması için kullanılır. Veri bağlama ifadesinin od_ ön ekini izleyen bölümü, seçim uygulamasındaki bir alanla eşleşen bir ad olmalıdır. On-demand uygulaması oluşturulurken seçim uygulamasının geçerli seçim durumu, her bir alanı bağlamaya yönelik istenen değerleri elde etmek için kullanılır. Yeni oluşturulan isteğe bağlı uygulamanın komut dosyasındaki her $(od_FIELDNAME) ifadesi oluşumu, seçim uygulamasının seçim durumundaki ilgili alan için seçilen değerler listesiyle değiştirilir.

INLINE load deyimlerini kullanarak değerleri bağlama hakkında daha fazla bilgi edinmek için bkz. İsteğe bağlı şablon uygulamalarda bağlama ifadeleri.

Geçerli bir SQL söz dizimi olabilmesi için, şablon uygulamanın birden çok değere göre filtrelemeye yönelik SELECT deyiminin birIN cümlesi kullanması gerekir. Doğru WHERE cümlesini yazmak için bir alt yordam oluşturulması önerilir:

SUB ExtendWhere(Name, ValVarName) LET T = Name & '_COLNAME'; LET ColName = $(T); LET Values = $(ValVarName); IF len(Values) > 0 THEN IF len(WHERE_PART) > 0 THEN LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )'; ELSE LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )'; ENDIF ENDIF END SUB;

ExtendWhere alt yordamını çağırmadan önce WHERE_PART değişkenini ayarlamalısınız.

SET WHERE_PART = '';

SQL deyiminin, seçim uygulaması tarafından eklenecek cümlelerin yanı sıra değişmeyen bir WHERE cümlesinin de olmasını istiyorsanız, SET deyimine bir 'WHERE <condition>' ekleyin. Aksi takdirde, basit SET deyimini kullanın.

Aşağıda, ExtendedWhere alt yordamı kullanımının bir örneğini görebilirsiniz:

FOR EACH fldname IN 'ORIGIN', 'DEST', 'YEAR', 'QUARTER', 'ORIGIN_STATE_ABR', 'DEST_STATE_ABR' LET vallist = $(fldname); WHEN (IsNull(vallist)) LET vallist = ''; IF len(vallist) > 0 THEN CALL ExtendWhere('$(fldname)','vallist'); ENDIF NEXT fldname

Alan adları listesi, oluşturduğunuz her bir alan bağlamasında kullanılan alanların adlarıyla eşleşmelidir.

Her bir alan için bir değer listesi oluşturulduktan sonra, bir SELECT deyimi yazılabilir. Örneğin:

SQL SELECT "MKT_ID", "YEAR", "QUARTER", "ORIGIN", "ORIGIN_STATE_ABR", "DEST", "DEST_STATE_ABR", "TICKET_CARRIER", "FARE_CLASS", "PASSENGERS", "DISTANCE", 1 AS "FLIGHT_COUNT" FROM "SAPH7T"."/QT/AIRPORT_FACT" $(WHERE_PART);

SELECT deyiminin $(WHERE_PART) bölümü, yukarıda gösterilen FOR-NEXT döngüsünün yürütülmesiyle oluşturulan WHERE cümlesi eklenecek şekilde genişletilir. SELECT anahtar sözcüğünü izleyen sütun ifadeleri listesi, kullandığınız veritabanı tablosunun sütunlarıyla eşleşecek şekilde değiştirilmelidir.

Warning: İsteğe bağlı uygulama bağlama değişkenleri oluştururken, şablon uygulama modelindeki alanların adlarını kullanmaktan kaçının. Komut dosyasında tanımlanan değişkenler, veri görselleştirmeleri oluşturulurken başvurulan şablon uygulama modelinde kullanılabilir hale gelir. Modeldeki alanlarla örtüşmeyen isteğe bağlı uygulama bağlama değişkenlerinin seçilmesi, şablon uygulama modelindeki alanlar ile veri yükleme komut dosyasındaki isteğe bağlı uygulama bağlama değişkenlerinin yanlışlıkla karıştırılmasını engeller. İsteğe bağlı uygulama bağlama değişkenleri için önek oluşturulması yararlı olabilir. Örneğin, ORIGIN yerine X_ORIGIN ifadesini kullanın.

Tek Oturum Açma (SSO)

İsteğe bağlı uygulamalar, SSO destekleyen veri kaynaklarıyla single sign-on (SSO) kullanabilir. Altyapı ve veri kaynağının SSO hizmetine izin verecek şekilde yapılandırılması gerekir.

Daha fazla bilgi için bkz. Qlik Sense ile SAML Çoklu Oturum Açma için SAP HANA'yı Yapılandırma ve Çoklu Oturum Açma için Cloudera Impala'yı Yapılandırma.

Altyapı ve veri kaynağı SSO için yapılandırıldıktan sonra, şablon uygulaması, aşağıdaki söz dizimini şablon uygulama koduna ekleyerek SSO hizmetini etkinleştirmelidir:

///!ODAG_SSO

On-Demand App Service, isteğe bağlı uygulama her oluşturulduğunda ve yeniden yüklendiğinde kodu ayrıştırır.

İsteğe bağlı bir uygulama SSO ile yüklendiğinde, son kullanıcının kimliği veri kaynağına gönderilir. Son kullanıcının, şablon uygulamasının veri bağlantılarında kullanılan kaynaklara erişebilmesi gerekir. Daha büyük bir veri kümesi seçilmiş olsa da yalnızca kullanıcının, bu kaynaklarda erişim izni olan veriler yüklenir.

Warning: single sign-on (SSO) kullanan ve şablon uygulamalarından üretilen isteğe bağlı uygulamalar yayımlanamaz.

Şablon uygulamalar için yeniden yükleme düğümleri

Yöneticiler, şablon uygulamalarda yük dengeleme kurallarını ayarlayarak çoklu düğüm ortamında isteğe bağlı uygulamaların yeniden yükleneceği yeri kontrol edebilir. Bir yük dengeleme kuralı ayarlandığında, şablon uygulama bağlantılarından oluşturulan tüm uygulamalar, şablon uygulama için geçerli olan kurala göre yüklenir. Daha fazla bilgi için bkz. İsteğe bağlı uygulamaları yönetme.