Bottom
Bottom() , tablodaki bir sütun segmentinin son (en alt) satırındaki bir ifadeyi değerlendirir. Hesaplandığı satır offset değerine göre değişir (varsa) ve varsayılan ayar en alt satırdır. Tablolar dışındaki grafikler için, grafiğin düz tablo eşdeğerinde geçerli sütunun son satırı üzerinde değerlendirme yapılır.
Söz Dizimi:
Bottom([TOTAL] expr [ , 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.
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) | Bottom(Sum(Sales)) | Sum(Sales) + Bottom(Sum(Sales)) | Bottom offset 3 |
---|---|---|---|---|
- | 2566 | 757 | 3323 | 3105 |
Astrida | 587 | 757 | 1344 | 1126 |
Betacab | 539 | 757 | 1296 | 1078 |
Canutility | 683 | 757 | 1440 | 1222 |
Divadip | 757 | 757 | 1514 | 1296 |
Bu örnekte gösterilen tablo grafiğinin temsilinde tablo, Customer boyutundan ve şu hesaplamalardan oluşturulmuştur: Sum(Sales) ve Bottom(Sum(Sales)).
Alt satırın değeri Divadip olduğundan Bottom(Sum(Sales)) sütunu, tüm satırlar için 757 değerini döndürür.
Tabloda ayrıca, biri Sum(Sales)+Bottom(Sum(Sales)) ifadesinden oluşturulan ve biri de Bottom offset 3 etiketli (Sum(Sales)+Bottom(Sum(Sales), 3) ifadesi kullanılarak oluşturulmuş ve offset bağımsız değişkeni 3 olarak ayarlanmış) olmak üzere daha karmaşık hesaplamalar gösterilmektedir. Geçerli satıra ilişkin Sum(Sales) değerini alt satırdan itibaren üçüncü satırdan gelen değere ekler (yani, geçerli satır artı Betacab değeri).
Örnek 2:
Bu örnekte gösterilen tablo grafiklerinin temsilinde grafiklere daha çok boyut eklenmiştir: Month ve Product. 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.
İlk tabloda ifade Month esas alınarak değerlendirilir ve ikinci tabloda ise Product esas alınarak değerlendirilir. End value hesaplaması Bottom(Sum(Sales)) ifadesini içerir. Month için alt satır Dec olur ve Dec değeri, tabloda gösterilen her iki Product değeri 22 olur. (Bazı satırlar alan kazanmak için gösterilmez.)
Customer | Product | Month | Sum(Sales) | End value |
---|---|---|---|---|
- | - | - | 2566 | - |
Astrida | AA | Jan | 46 | 22 |
Astrida | AA | Feb | 60 | 22 |
Astrida | AA | Mar | 70 | 22 |
... | ... | ... | ... | ... |
Astrida | AA | Sep | 78 | 22 |
Astrida | AA | Oct | 12 | 22 |
Astrida | AA | Nov | 78 | 22 |
Astrida | AA | Dec | 22 | 22 |
Astrida | BB | Jan | 46 | 22 |
Customer | Product | Month | Sum(Sales) | End value |
---|---|---|---|---|
2566 | - | |||
Astrida | AA | Jan | 46 | 46 |
Astrida | BB | Jan | 46 | 46 |
Astrida | AA | Feb | 60 | 60 |
Astrida | BB | Feb | 60 | 60 |
Astrida | AA | Mar | 70 | 70 |
Astrida | BB | Mar | 70 | 70 |
Astrida | AA | Apr | 13 | 13 |
Astrida | BB | Apr | 13 | 13 |
Lütfen daha fazla ayrıntı için Above fonksiyonunda Örnek 2'ye bakın.
Örnek 3:
Bottom fonksiyonu, aralık fonksiyonları için giriş olarak kullanılabilir. Örnek: RangeAvg (Bottom(Sum(Sales),1,3)).
Bottom() fonksiyonuna ait bağımsız değişkenlerde offset, 1 olarak ve count, 3 olarak ayarlıdır. Fonksiyon, sütun segmentinde alt satırın üstündeki satırdan başlayarak (çünkü offset=1) üç satırda ve bunun üstündeki iki 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 RangeAvg() ifadesi için aşağıdaki sonuçları verir.
Customer | RangeAvg (Bottom(Sum(Sales),1,3)) |
---|---|
Astrida | 659.67 |
Betacab | 659.67 |
Canutility | 659.67 |
Divadip | 659.67 |
Ö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.