Previous - kod fonksiyonu
Previous(), bir önceki giriş kaydında yer alan verileri kullanarak expr ifadesinin değerini bulur. Bir iç tablonun ilk kaydında, bu fonksiyon NULL sonucunu döndürür.
Söz Dizimi:
Previous(expr)
Dönüş verileri türü: dual
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
expr | Hesaplanacak verileri içeren ifade veya alan. İfade, daha gerideki kayıtlara erişmek için, iç içe geçen previous() fonksiyonlarını içerebilir. Veriler doğrudan giriş kaynağından getirilir ve böylece QlikView'e yüklenmemiş alanlara başvurulması da mümkün olur (yani, ilişkili veritabanına depolanmamış olsalar bile). |
Sınırlamalar:
Bir dahili tablonun ilk kaydında, fonksiyon NULL sonucunu döndürür.
Örnek 1:
Sales2013:
Load *, (Sales - Previous(Sales) )as Increase Inline [
Month|Sales
1|12
2|13
3|15
4|17
5|21
6|21
7|22
8|23
9|32
10|35
11|40
12|41
] (delimiter is '|');
Previous() fonksiyonunu Load deyimi içinde kullanarak, mevcut Sales değerini önceki değer ile karşılaştırabilir ve üçüncü bir alanda (Increase) kullanabiliriz.
Month | Sales | Increase |
---|---|---|
1 | 12 | - |
2 | 13 | 1 |
3 | 15 | 2 |
4 | 17 | 2 |
5 | 21 | 4 |
6 | 21 | 0 |
7 | 22 | 1 |
8 | 23 | 1 |
9 | 32 | 9 |
10 | 35 | 3 |
11 | 40 | 5 |
12 | 41 | 1 |
Örnek 2:
Sales2013:
Load * Inline [
Month|Sales
1|12
2|13
3|15
4|17
5|21
6|21
7|22
8|23
9|32
10|35
11|40
12|41
] (delimiter is '|');
Sales:
NoConcatenate Load *, (Sales - Previous(Sales) )as Increase Resident Sales2013 where Month > 6;
Drop Table Sales2013;
Bu örnekte, bir WHERE cümlesi kullanarak Month değerinin 6 veya daha düşük olduğu kayıtları hariç tutarız. Fonksiyon, yüklemeden hariç tutulan verilere başvurabildiğinden yine de Previous() kullanılabilir.
Bu durumda Month=7 için Increase hesaplaması, yüklemeden hariç tutulan Month=6 için Sales değerine başvurur.
Month | Sales | Increase |
---|---|---|
7 | 22 | 1 |
8 | 23 | 1 |
9 | 32 | 9 |
10 | 35 | 3 |
11 | 40 | 5 |
12 | 41 | 1 |