Qlik Sense'de İç İçe LOAD (Nested LOAD): Veri Dönüşümünde Güçlü Bir Teknik
Qlik Sense’in en esnek ve güçlü veri dönüşüm tekniklerinden biri de İç İçe LOAD (Nested LOAD) yapısıdır. Bu yöntem, bir LOAD ifadesinin sonucunu başka bir LOAD ifadesiyle işlemenize olanak tanır. Genellikle, veriyi adım adım dönüştürmek, türetilmiş alanlar oluşturmak veya karmaşık hesaplamalar yapmak için kullanılır.

Görsel: Şema
İç İçe LOAD Nedir?
Temel olarak, Qlik Sense komut dosyasında (script) birden fazla LOAD ifadesini arka arkaya kullanarak, her bir LOAD ifadesinin bir önceki LOAD ifadesinin sonucunu girdi olarak alması durumudur.
En içteki LOAD ifadesi veri kaynağından okur, bir sonraki (üstteki) LOAD ifadesi ise bu okunan veriler üzerinde işlem yapar. Bu döngü en dıştaki LOAD ifadesine kadar devam eder.

Görsel: Qlik Script 1
Neden İç İçe LOAD’a İhtiyaç Duyarız? Pratik Bir Örnek
Qlik Sense’te veri modellemesi yaparken bazen bir alana uyguladığımız dönüşümün sonucunu, aynı LOAD deyimi içinde başka bir hesaplamada kullanmak isteriz. Ancak bu durum, Qlik Sense’in çalışma mantığı nedeniyle doğrudan mümkün değildir ve “alan bulunamadı” gibi hatalara yol açar. İşte bu noktada İç İçe LOAD yapısı devreye girer ve bize bu kısıtlamayı aşma imkanı sunar.
Bu ihtiyacı daha iyi anlamak için bir senaryo düşünelim:
Diyelim ki elimizde bir ürünün Birim Maliyeti (UnitPrice) verisi var. Amacımız, Birim Maliyeti 100’den büyük olan ürünleri “Yüksek Maliyetli” olarak işaretlemek ve yeni oluşturduğumuz bu “Maliyetlendirme” kategorisini kullanarak aynı veri yüklemesi içerisinde farklı bir hesaplama daha yapmak.

Görsel: Qlik Sense
Sorun: Bunu tek bir LOAD içinde yapmayı denediğimizde, Qlik henüz “Maliyetlendirme” alanını belleğe tam olarak almadığı için bu alanı bir sonraki satırda tanımayacak ve hata verecektir.
Çözüm: Katmanlı Yapı (Nested LOAD)
Öncelikle, oluşturduğumuz Maliyetlendirme alanını bir üst LOAD deyimine taşırız. Bu sayede, Maliyetlendirme alanı alt LOAD’dan okunup üst LOAD’da sorunsuz bir şekilde işlenebilir hale gelir. Bu işlemi tamamladıktan sonra, aynı mantıkla diğer alanlar için de (örneğin Birim Fiyat) bir işlem yapıp, sonuç alanını yine üst LOAD’a taşıyarak kullanabiliriz.

Görsel: Table
İç İçe LOAD Kullanmanın Avantajları
Bu yapı, bize veri dönüşümünde inanılmaz bir esneklik ve kontrol sağlar. Tek bir karmaşık ifade (spagetti kod) yerine, her adımı ayrı bir LOAD katmanında tanımlayarak şu avantajları elde ederiz:
- Veri Bütünlüğünü Sağlarız: Her adımda verinin belirli bir format veya kurala uygun olup olmadığını kontrol etme imkanı buluruz.
- Okunabilirliği Artırırız: Kodunuz daha modüler ve anlaşılır hale gelir. Hangi alanın hangi dönüşümden geçtiğini katmanlara bakarak açıkça görebilirsiniz.
- Hata Ayıklamayı Kolaylaştırırız: Eğer bir dönüşümde sorun varsa, hangi LOAD katmanında hata olduğunu kolayca tespit edebilir ve sorunu o katmanda izole edebilirsiniz.
- Karmaşık Mantıkları Yönetiriz: Bir alanın değeri başka bir alanın hesaplamasında kullanıldığında veya ardışık, birbirine bağlı dönüşümler gerektiğinde bu yapı bize en güçlü çözümü sunar.

Görsel: Qlik Sense Table