Below
Below() , tablodaki bir sütun segmenti dahilinde geçerli satırın altındaki bir satırda ifadeyi değerlendirir. Hesaplandığı satır offset değerine göre değişir (varsa) ve varsayılan ayar doğrudan altındaki satırdır. Tablolar dışındaki grafikler için Below(), grafiğin düz tablo eşdeğerinde geçerli sütunun altındaki satır için değerlendirme yapar.
Söz Dizimi:
Below([TOTAL] expression [ , offset [,count ]])
Dönüş verileri türü: dual
Bağımsız Değişkenler:
- expr: Hesaplanacak verileri içeren ifade veya alan.
- offset: 0'dan büyük bir offset n belirtildiğinde, ifadenin değerlendirmesi geçerli satırdan n satır daha yukarı taşınır. Offset 0 olarak belirtildiğinde, ifade geçerli satır üzerinde değerlendirilir. Negatif offset sayısı belirtilmesi, Above fonksiyonunun karşılık gelen pozitif offset sayısı ile Below fonksiyonu gibi çalışmasını sağlar.
- count: 1'den büyük üçüncü bir count bağımsız değişkeni belirtildiğinde, fonksiyon ilk hücreden yukarı doğru sayarak her count tablo satırı için bir adet olmak üzere bir count değerleri aralığı döndürür. Bu biçimde, fonksiyon herhangi bir özel aralık fonksiyonuna yönelik bir bağımsız değişken olarak kullanılabilir. Aralık fonksiyonları
- TOTAL: Tablo tek boyutluysa veya TOTAL niteleyicisi bir bağımsız değişken olarak kullanılıyorsa, geçerli sütun segmenti her zaman sütunun tamamına eşittir.
Bir sütun segmentinin son satırında, bunun altında bir satır olmadığından, NULL değeri döndürülür.
Sınırlamalar:
-
Yinelemeli çağrılar NULL sonucunu döndürür.
-
Grafiğin ifadelerinden herhangi birinde bu grafik fonksiyonu kullanıldığında grafiklerde y değerlerine veya tablolarda ifade sütunlarına göre sıralamaya izin verilmez. Bu nedenle, söz konusu sıralama alternatifleri otomatik olarak devre dışı bırakılır. Bir görselleştirmede veya tabloda bu grafik fonksiyonunu kullandığınızda, görselleştirmenin sıralaması bu fonksiyonun sıralanmış girdisine geri döner.
Örnekler ve sonuçlar:
Örnek 1:
Customer | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales) + Below(Sum(Sales)) | Below offset 3 | Higher? |
---|---|---|---|---|---|
- | 2566 | - | - | 1344 | - |
Astrida | 587 | 539 | 1126 | - | Higher |
Betacab | 539 | 683 | 1222 | - | - |
Canutility | 683 | 757 | 1440 | - | - |
Divadip | 757 | - | - | - | - |
Örnek 1 için gösterilen tablo grafiğinin temsilinde tablo, Customer boyutundan ve şu hesaplamalardan oluşturulmuştur: Sum(Sales) ve Below(Sum(Sales)).
Below(Sum(Sales)) sütunu, altında başka bir satır olmaması nedeniyle, Divadip öğesini içeren Customer satırı için NULL döndürür. Canutility satırının sonucu Sum(Sales) için Divadip değerini ve Betacab sonucu da Sum(Sales) için Canutility değerini gösterir ve bu böyle devam eder.
Tabloda ayrıca, etiketli sütunlarda görebileceğiniz daha karmaşık hesaplamalar gösterilmektedir: Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 ve Higher?. Bu ifadeler aşağıdaki paragraflarda açıklandığı gibi çalışır.
Sum(Sales)+Below(Sum(Sales)) etiketli sütun için, Astrida satırı Sum(Sales) + Betacab için Astrida değerlerinin toplamından (539+587) elde edilen sonucu gösterir. Betacab satırının sonucu, Canutility + Betacab için Sum(Sales) değerlerinin toplamından (539+683) elde edilen sonucu gösterir.
Sum(Sales)+Below(Sum(Sales), 3) ifadesi kullanılarak oluşturulmuş Below +Offset 3 etiketli hesaplama, offset bağımsız değişkenine (3 olarak ayarlı) sahiptir ve satırdaki değeri geçerli satırdan üç satır aşağı taşıma etkisini oluşturur. Geçerli Customer öğesine ilişkin Sum(Sales) değerini üç satır aşağıdaki Customer öğesinden elde edilen değere ekler. En alt üç Customer satırı için döndürülen değerler null olur.
Higher? etiketli hesaplama IF(Sum(Sales)>Below(Sum(Sales)), 'Higher') ifadesinden oluşturulur. Bu ifade, Sum(Sales) hesaplamasında geçerli satırın değerlerini alttaki satır ile karşılaştırır. Geçerli satır daha büyük bir değere sahipse, "Higher" metni çıktı olarak verilir.
Birden fazla boyutu olan grafikler için Above, Below, Top ve Bottom fonksiyonlarını içeren ifadelerin sonuçları, sütun boyutlarının QlikView tarafından sıralanma düzenine göre değişir. QlikView, en son sıralanan boyuttan kaynaklanan sütun segmentlerini temel alarak fonksiyonları değerlendirir. Sütun sırası Sırala seçeneğinin altından kontrol edilir ve bu sıranın mutlaka sütunların tabloda göründükleri sıra olması gerekmez.Lütfen daha fazla ayrıntı için Above fonksiyonunda Örnek 2'ye bakın.
Örnek 2:
Below fonksiyonu, aralık fonksiyonları için giriş olarak kullanılabilir. Örnek: RangeAvg (Below(Sum(Sales),1,3)).
Below() fonksiyonuna ait bağımsız değişkenlerde offset, 1 olarak ve count, 3 olarak ayarlıdır. Fonksiyon, sütun segmentinde geçerli satırın hemen altındaki üç satırda (satır varsa) Sum(Sales) ifadesinin sonuçlarını bulur. Bu üç değer, sağlanan sayı aralığındaki değerlerin ortalamasını bulan RangeAvg() fonksiyonu için giriş olarak kullanılır.
Boyut olarak Customer öğesini içeren bir tablo ifade için aşağıdaki sonuçları verir.
Customer | RangeAvg (Below(Sum(Sales),1,3)) |
---|---|
Astrida | 659.67 |
Betacab | 720 |
Canutility | 757 |
Divadip | - |
Örneklerde kullanılan veriler:
Monthnames:
LOAD * INLINE [
Month, Monthnumber
Jan, 1
Feb, 2
Mar, 3
Apr, 4
May, 5
Jun, 6
Jul, 7
Aug, 8
Sep, 9
Oct, 10
Nov, 11
Dec, 12
];
Sales2013:
crosstable (Month, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');
Ayları doğru düzende sıralatmak için, grafiklerinizi oluşturduğunuzda grafik özelliklerinin Sort sekmesine gidin ve Sort by seçeneğinin altında Expression onay kutusunu işaretleyin. İfade kutusuna Monthnumber yazın.