Qlik Sense LOAD INLINE komutu, veri yükleme editörü (script) içerisinde bir tablo yapısı tanımlamanıza ve bu tabloya ait verileri satır satır el ile girmenize olanak tanır. Qlik Sense, scripti çalıştırdığında bu dahili tabloyu tıpkı SQL veya Excel gibi diğer veri kaynakları gibi belleğe (RAM) yükler. Bu yöntem, özellikle veri setimizde yer alan bazı kodları veya numaraları istediğimiz şekilde adlandırmak ya da küçük referans tabloları oluşturmak için sıkça karşımıza çıkar.
1. LOAD INLINE Kullanım Alanları
Veri modelleme süreçlerinde her zaman dış veritabanlarına bağımlı kalmak zorunda değiliz. Qlik Sense LOAD INLINE şu durumlarda hayat kurtarır:
- Ay ve Gün İsimleri: Veritabanından sayısal (1, 2, 3) gelen ayları “Ocak, Şubat, Mart” olarak adlandırmak.
- Flag (Bayrak) Tabloları: Evet/Hayır veya 1/0 gibi değerleri anlamlı etiketlere dönüştürmek.
- Hedef Tabloları: Henüz bir veritabanında tutulmayan ancak raporda gösterilmesi gereken statik hedefleri eklemek.
- Mapping Hazırlığı: Bir önceki derslerimizde işlediğimiz Qlik Sense ApplyMap (Dahili Bağlantı) fonksiyonu için hızlıca bir eşleştirme tablosu kurgulamak.
2. LOAD INLINE Nasıl Yazılır?
Kod yazımı oldukça basittir. Sütun başlıklarını belirledikten sonra köşeli parantezler içinde verileri girersiniz:
Örneklerle İnceleyelim

Yukarıdaki Örnek Açıklaması:
SECTION ACCESS;: Güvenlik bölümünün başlangıcını işaret eder.LOAD * INLINE [...]: Güvenlik tablomuzu manuel olarak script içine gömüyoruz. Gerçek senaryolarda bu tablo genellikle bir veritabanından, Excel dosyasından veya LDAP/Active Directory gibi bir kaynaktan yüklenir.ACCESS: Kullanıcının yetki seviyesini belirler.ADMIN: Uygulama içindeki tüm verilere erişimi olan kullanıcılar (veri azaltma uygulanmaz).USER: Veri azaltmaya tabi olan standart kullanıcılar.
USERID: Qlik Sense’in kullanıcının kimliğini doğruladığı alandır. Bu genellikle Qlik Sense kimlik doğrulama sistemindeki kullanıcı adıyla eşleşmelidir (örn.DomainUsernameveya kullanıcı adı). Güvenli kullanım için tüm karakterlerin büyük harf olması önerilir (örneğin,UPPER(USERID)kullanılarak).REGION: Bu alan,SECTION ACCESStablosundaki bir alanla veri modelinizdeki bir alan arasında bir eşleşme oluşturur. Kullanıcı giriş yaptığında, sadece bu alandaki eşleşen değerlere sahip satırlar gösterilir. Örneğimizde,BolgeNoalanınıREGIONolarak yeniden adlandırdık ki Section Access tablosundakiREGIONalanı ile eşleşebilsin.*(Yıldız):ADMINkullanıcısı içinREGIONalanında yıldız (*) kullanılması, tüm bölge verilerini görebileceği anlamına gelir.mustafa.yildizkullanıcısı için de aynı şekilde tüm bölgeler görülecektir.
OMIT_FIELD: Bu alana, kullanıcının görmesini istemediğiniz veri modelinizdeki alan adlarını yazarsınız. Örneğin,ali.yilmaziçinFaturaNoalanının görünmesi engellenir.ayse.demiriçinAdetalanının görünmesi engellenir.
Uygulama Adımları:
Büyük Harfe Dönüştürme: Hem USERID (ve/veya NTNAME) hem de veri azaltma alanlarınızdaki (örn. REGION) değerleri UPPER() fonksiyonu ile büyük harfe dönüştürmek, uyumluluk sorunlarını önler ve iyi bir uygulamadır.
Section Access Scriptini Ekle: Yukarıdaki gibi Section Access bölümünü Qlik Sense scriptinizin en başına ekleyin.
Alan Adlarını Eşleştir: Veri modelinizdeki veri azaltması yapılacak alanların adlarının, Section Access tablonuzdaki ilgili alan adlarıyla (örn. REGION) aynı olduğundan emin olun. Gerekirse AS anahtar kelimesini kullanarak yeniden adlandırın.
Veriyi Yükle: Scripti çalıştırarak veriyi yükleyin.
Test Edin: Farklı kullanıcılar (veya USERID ve PASSWORD alanlarını da ekleyerek test modunda) ile uygulamayı açarak veri azaltmanın doğru çalıştığını doğrulayın. Geliştirme aşamasında kendinizi ADMIN olarak tanımlamayı unutmayın!
Önemli Notlar ve İpuçları:
PASSWORD Alanı (Geliştirme için): Geliştirme ortamında, kimlik doğrulama sisteminiz kurulu değilken bile Section Access’i test etmek için PASSWORD alanı kullanılabilir. Ancak üretimde bu önerilmez ve gerçek kimlik doğrulama sistemleri kullanılır.
NTNAME Kullanımı: Eğer Active Directory veya Windows kimlik doğrulaması kullanıyorsanız, USERID yerine veya ek olarak NTNAME alanını kullanmak daha yaygındır (DOMAINUSERNAME formatında).
- Performans: Qlik Sense Section Access’i, verileri belleğe yüklemeden önce azaltır, bu da performans açısından oldukça verimlidir.
- Gizleme mi Azaltma mı?: Section Access veriyi azaltır (reduce). Yani, kullanıcının görmeye yetkili olmadığı veriler, uygulamanın bellek modeline bile yüklenmez veya kullanıcı için görünmez hale getirilir. Bu bir gizleme değil, gerçek bir veri kısıtlamasıdır.
Section Access, Qlik Sense uygulamalarınızın güvenliğini ve veri gizliliğini sağlamak için temel ve çok güçlü bir araçtır. Doğru yapılandırıldığında, tek bir uygulama ile farklı yetkilere sahip binlerce kullanıcıya hizmet verebilirsiniz.

Bir Cevap Yazın