Ana içeriğe geç Tamamlayıcı içeriğe geç

Above

Above() , tablodaki bir sütun segmenti dahilinde geçerli satırın üstündeki bir satırda ifadeyi değerlendirir. Hesaplandığı satır offset değerine göre değişir (varsa) ve varsayılan ayar doğrudan üstündeki satırdır. Tablolar dışındaki grafikler için Above(), grafiğin düz tablo eşdeğerinde geçerli satırın üstündeki satır için değerlendirme yapar.

Söz Dizimi:  

Above([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.

    Toplama kapsamını tanımlama

Bir sütun segmentinin ilk satırında, bunun üzerinde bir satır olmadığından, NULL değeri döndürülür.

Bilgi notuSütun segmenti, geçerli sıralama düzeninde boyutlar için aynı değerlere sahip ardışık hücreler alt kümesi olarak tanımlanır. Kayıt arası grafik fonksiyonları sütun segmentinde hesaplanırken, eşdeğer düz tablo grafiğindeki en sağdaki boyut hariç tutulur. Grafikte yalnızca bir boyut varsa veya TOTAL niteleyicisi belirtilirse, ifade tüm tablo genelinde değerlendirilir.
Bilgi notuTablo veya tablo eşdeğeri birden çok dikey boyuta sahipse, geçerli sütun segmenti, alanlar arası sıralama düzenindeki son boyutu gösteren sütun haricinde tüm boyut sütunlarında geçerli satır olarak yalnızca aynı değerlere sahip satırları içerir.

Sınırlamalar:  

Yinelemeli çağrılar NULL sonucunu döndürür.

Örnekler ve sonuçlar:  

Örnek 1:  

Örnek tablo çıktısı
Customer Sum(Sales) Above(Sum(Sales)) Sum(Sales) + Above(Sum(Sales)) Above offset 3 Higher?
- 2566 - - - -
Astrida 587 - - - -
Betacab 539 587 1126 - -
Canutility 683 539 1222 - Higher
Divadip 757 683 1440 1344 Higher

Bu örnekte gösterilen tablo grafiğinin temsilinde tablo, Customer boyutundan ve şu hesaplamalardan oluşturulmuştur: Sum(Sales) ve Above(Sum(Sales)).

Above(Sum(Sales)) sütunu, üzerinde başka bir satır olmaması nedeniyle, Astrida öğesini içeren Customer satırı için NULL döndürür. Betacab satırının sonucu Sum(Sales) için Astrida değerini ve Canutility sonucu da Sum(Sales) için Betacab değerini gösterir ve bu böyle devam eder.

Sum(Sales)+Above(Sum(Sales)) etiketli sütun için, Betacab satırı Sum(Sales) + Betacab için Astrida değerlerinin toplamından (539+587) elde edilen sonucu gösterir.  Canutility satırının sonucu, Canutility + Betacab için Sum(Sales) değerlerinin toplamından (683+539) elde edilen sonucu gösterir.

Sum(Sales)+Above(Sum(Sales), 3) ifadesi kullanılarak oluşturulmuş Above 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 yukarı taşıma etkisini oluşturur. Geçerli Customer öğesine ilişkin Sum(Sales) değerini üç satır yukarıdaki Customer öğesinin değerine ekler. İlk üç Customer satırı için döndürülen değerler null olur.

Tabloda ayrıca, biri Sum(Sales)+Above(Sum(Sales)) ifadesinden oluşturulan ve biri de etiketli Higher? (IF(Sum(Sales)>Above(Sum(Sales)), 'Higher') ifadesinden oluşturulan) olmak üzere daha karmaşık hesaplamalar gösterilmektedir.

İpucu notuBu fonksiyon tablolar dışında grafiklerde de (örneğin, sütun grafiklerinde) kullanılabilir.
İpucu notuDiğer grafik türleri için grafiği düz tablo eşdeğerine dönüştürün; böylece fonksiyonun hangi satırla ilişkili olduğunu kolaylıkla yorumlayabilirsiniz.

Ö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.

Örnek 2 için tablo grafiğine ait aşağıdaki temsilde, son sıralanan boyut Month olduğundan Above fonksiyonu aylara dayalı olarak değerlendirme yapar. Her bir aya (Jan ila Aug) ilişkin her Product değeri için bir dizi sonuç vardır (sütun segmenti). Bunu, bir sonraki Product için her bir Month değerine ait olmak üzere, sonraki sütun segmentine ilişkin bir seri takip eder. Her bir Product öğesine ilişkin her Customer değeri için bir sütun segmenti olacaktır.

Örnek tablo çıktısı
Customer Product Month Sum(Sales) Above(Sum(Sales))
- - - 2566 -
Astrida AA Jan 46 -
Astrida AA Feb 60 46
Astrida AA Mar 70 60
Astrida AA Apr 13 70
Astrida AA May 78 13
Astrida AA Jun 20 78
Astrida AA Jul 45 20
Astrida AA Aug 65 45

Örnek 3:  

Örnek 3 için tablo grafiğine ait temsilde en son sıralanan boyut Product boyutudur. Bu da Product boyutunun, özellikler panelindeki Sıralama sekmesinde 3. konuma taşınmasıyla yapılır. Above fonksiyonu her bir Product için değerlendirilir ve yalnızca iki ürün bulunduğundan (AA ve BB), her bir seride tek bir null olmayan sonuç vardır. Jan ayına ilişkin BB satırında Above(Sum(Sales)) değeri 46'dır. AA satırı için değer null'dur. Herhangi bir ay için her bir AA satırındaki değer, AA satırının üstünde başka bir Product değeri bulunmaması nedeniyle her zaman null çıkar. İkinci seri AA ve BB satırlarında Feb ayı ve Customer değeri Astrida için değerlendirilir. Astrida için tüm aylar değerlendirildiğinde, bu dizi ikinci CustomerBetacab için tekrarlanır ve bu böyle devam eder.

Örnek tablo çıktısı
Customer Product Month Sum(Sales) Above(Sum(Sales))
- - - 2566 -
Astrida AA Jan 46 -
Astrida BB Jan 46 46
Astrida AA Feb 60 -
Astrida BB Feb 60 60
Astrida AA Mar 70 -
Astrida BB Mar 70 70
Astrida AA Apr 13 -
Astrida BB Apr 13 13

Örnek 4:  

Above fonksiyonu, aralık fonksiyonları için giriş olarak kullanılabilir. Örnek: RangeAvg (Above(Sum(Sales),1,3)).

Above() 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 üstündeki üç 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.

Örnek tablo çıktısı
Customer RangeAvg (Above(Sum(Sales),1,3))
Astrida -
Betacab 587
Canutility 563
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.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com