Top
Top() , tablodaki bir sütun segmentinin ilk (en üst) satırındaki bir ifadeyi değerlendirir. Hesaplandığı satır offset değerine göre değişir (varsa) ve varsayılan ayar en üst satırdır. Tablolar dışındaki grafikler için Top() değerlendirmesi, grafiğin düz tablo eşdeğerinde geçerli sütunun ilk satırı üzerinde yapılır.
Söz Dizimi:
Top([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:
-
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.
-
Yinelemeli çağrılar NULL sonucunu döndürür.
Örnekler ve sonuçlar:
Örnek 1:
Customer | Sum(Sales) | Top(Sum(Sales)) | Sum(Sales) + Top(Sum(Sales)) | Top offset 3 |
---|---|---|---|---|
2566 | 587 | 3153 | 3249 | |
Astrida | 587 | 587 | 1174 | 1270 |
Betacab | 539 | 587 | 1126 | 1222 |
Canutility | 683 | 587 | 1270 | 1366 |
Divadip | 757 | 587 | 1344 | 1440 |
Bu örnekte gösterilen tablo grafiğinin temsilinde tablo, Customer boyutundan ve şu hesaplamalardan oluşturulmuştur: Sum(Sales) ve Top(Sum(Sales)).
Üst satırın değeri Astrida olduğundan Top(Sum(Sales)) sütunu, tüm satırlar için 587 değerini döndürür.
Tabloda ayrıca, biri Sum(Sales)+Top(Sum(Sales)) ifadesinden oluşturulan ve biri de Top offset 3 etiketli (Sum(Sales)+Top(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 üst satırdan itibaren üçüncü satırdan gelen değere ekler (yani, geçerli satır artı Canutility 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. (Bazı satırlar alan kazanmak için gösterilmez.)
Customer | Product | Month | Sum(Sales) | First value |
---|---|---|---|---|
2566 | - | |||
Astrida | AA | Jan | 46 | 46 |
Astrida | AA | Feb | 60 | 46 |
Astrida | AA | Mar | 70 | 46 |
... | ... | ... | ... | ... |
Astrida | AA | Sep | 78 | 46 |
Astrida | AA | Oct | 12 | 46 |
Astrida | AA | Nov | 78 | 46 |
Astrida | AA | Dec | 22 | 46 |
Astrida | BB | Jan | 46 | 46 |
Customer | Product | Month | Sum(Sales) | First 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:
Top fonksiyonu, aralık fonksiyonları için giriş olarak kullanılabilir. Örnek: RangeAvg (Top(Sum(Sales),1,3)).
Top() 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 altındaki satırdan başlayarak (çünkü offset=1) üç satırda ve bunun altındaki 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 (Top(Sum(Sales),1,3)) |
---|---|
Astrida | 603 |
Betacab | 603 |
Canutility | 603 |
Divadip | 603 |
Ö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.