Öncelikli LOAD

Öncelikli LOAD özelliği bir tabloyu tek geçişte yüklemenizi, ancak yine de birbirini izleyen çeşitli dönüşümler tanımlayabilmenizi sağlar. Temel olarak, normalde yaptığınız şekilde From veya Resident gibi bir kaynak niteleyicisi belirtmeksizin aşağıdaki LOAD veya SELECT deyiminden yükleme yapan bir LOAD deyimidir. İstediğiniz sayıda LOAD deyimini bu şekilde yığınlayabilirsiniz. Önce en alttaki deyim değerlendirilir, sonra üstündeki deyim değerlendirilir ve en üstteki deyim değerlendirilinceye kadar bu böyle devam eder.

Aynı sonuca Resident kullanarak da ulaşabilirsiniz, ancak çoğu durumda öncelikli LOAD daha hızlı olacaktır.

Öncelikli yüklemenin bir diğer avantajı, hesaplamayı tek bir yerde tutabilmeniz ve üstte yer alan LOAD deyimlerinde yeniden kullanabilmenizdir.

Note: Şu önekler öncelikli LOAD ile birlikte kullanılamaz: Join, Crosstable ve Intervalmatch.

Example 1: SELECT deyimi ile yüklenen verileri dönüştürme

Bir veritabanından verileri SELECT deyimi kullanarak yüklerseniz, SELECT deyimindeki verileri yorumlamak için QlikView fonksiyonlarını kullanamazsınız. Bunun çözüm yolu, veri dönüştürme işlemini yaptığınız noktada SELECT deyiminin yukarısına bir LOAD deyimi eklemektir.

Bu örnekte, dize olarak saklanan bir tarihi yorumlamak için LOAD deyimi içinde QlikView Date# fonksiyonunu kullanıyor ve önceki SELECT deyimini de kaynak olarak kullanıyoruz.

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

Example 2: Hesaplamaları yeniden kullanarak kodunuzu basitleştirme

Bu örnekte, bir hesaplamayı kod içinde birçok kez kullanıyoruz:

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

Hesaplamayı ilk geçişe koyduğumuzda, öncelikli bir LOAD deyimindeki Age fonksiyonunda yeniden kullanabiliriz:

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;