Below - grafiekfunctie

Below() evalueert een uitdrukking in een rij onder de huidige rij binnen een kolomsegment in een tabel. De rij waarvoor deze waarde wordt berekend is afhankelijk van de waarde van offset, indien aanwezig. De direct onderliggende rij is de standaardwaarde. Voor andere grafieken dan tabellen, evalueert Below() voor de rij onder de huidige kolom in het equivalent van de standaard tabel in de grafiek.

Syntaxis:  

Below([TOTAL] expression [ , offset [,count ]])

Retourgegevenstype: dual

Argumenten:  

Argument Beschrijving
expr De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten.
offset

Als een offset n groter dan 1 wordt opgegeven, wordt de evaluatie van de uitdrukking n rijen verder omlaag verplaatst, geteld vanaf de huidige rij.

Als u de beginwaarde 0 opgeeft, wordt de uitdrukking geëvalueerd op de huidige rij.

Als een negatief getal voor de beginwaarde wordt opgegeven, werkt de functie Below op dezelfde wijze als de functie Above met het overeenkomstige positieve getal als beginwaarde.

count

Als een derde parameter count groter dan 1 wordt opgegeven, retourneert de functie niet één maar een bereik van count-waarden. Eén waarde voor elke count tabelrijen, omlaag geteld vanaf de oorspronkelijke cel. In deze vorm kan de functie worden gebruikt als argument voor een van de speciale bereikfuncties. Bereikfuncties

TOTAL

Als de tabel eendimensionaal is of als de kwalificatie TOTAL wordt gebruikt als argument, is het huidige kolomsegment altijd gelijk aan de hele kolom.

Zie: Het aggregatiebereik definiëren

Op de laatste rij van een kolomsegment wordt een NULL-waarde geretourneerd, omdat er geen rij onder de laatste rij is.

Opmerking: Een kolomsegment wordt gedefinieerd als een opeenvolgende subset van cellen die dezelfde waarden hebben voor de dimensies in de huidige sorteervolgorde. Interrecord-grafiekfuncties worden berekend in het kolomsegment met uitzondering van de dimensie uiterst rechts in de equivalente strakke tabel. Als er slechts één dimensie is in de grafiek, of als de kwalificatie TOTAL is opgegeven, wordt de uitdrukking geëvalueerd voor de volledige tabel.
Opmerking: Als de tabel of het equivalent van de tabel meerdere verticale dimensies heeft, omvat het huidige kolomsegment alleen rijen met dezelfde waarden als de huidige rij in alle dimensiekolommen, met uitzondering van de kolom waarin de laatste dimensie wordt weergegeven in de onderlinge sorteervolgorde van de velden.

Beperkingen:  

Recursieve oproepen retourneren een NULL-waarde.

Voorbeelden en resultaten:  

Voorbeeld 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 - - - -
De tabelgrafiek voor Voorbeeld 1.

In de weergave van de tabelgrafiek in Voorbeeld 1 wordt de tabelgrafiek gemaakt op basis van de dimensie Customer en de metingen Sum(Sales) en Below(Sum(Sales)).

De kolom Below(Sum(Sales)) retourneert NULL voor de rij van Customer die Divadip bevat, omdat er geen rij onder is. Het resultaat voor de rij Canutility toont de waarde van Sum(Sales) voor Divadip, het resultaat voor Betacab toont de waarde van Sum(Sales) voor Canutility, enzovoort.

In de tabel worden tevens complexere metingen weergegeven, die u kunt bekijken in de kolommen Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 en Higher?. Deze uitdrukkingen werken zoals beschreven in de volgende alinea's.

Voor de kolom met het label Sum(Sales)+Below(Sum(Sales)) wordt in de rij voor Astrida het resultaat getoond van de optelsom van de waarden van Sum(Sales) voor de rijen Betacab + Astrida (539+587). Het resultaat voor de rij Betacab bevat het resultaat van de optelsom van de waarden van Sum(Sales) voor Betacab + Canutility (539+683).

De meting met het label Below +Offset 3 die is gemaakt met behulp van de uitdrukking Sum(Sales)+Below(Sum(Sales), 3) bevat het argument offset, dat is ingesteld op 3, en neemt de waarde in de drie rijen onder de huidige rij aan. De waarde van Sum(Sales) voor de huidige Customer wordt toegevoegd aan de waarde voor de drie onderliggende rijen van Customer. De waarden voor de laagste drie rijen van Customer zijn null.

De meting met het label Higher? wordt gemaakt met de uitdrukking:IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Hierbij worden de waarden van de huidige rij in de meting Sum(Sales) vergeleken met de rij eronder. Als de huidige rij een grotere waarde is, wordt de tekst "Higher" weergegeven.

Tip: Deze functie kan alleen worden gebruikt in grafieken, zoals een staafgrafiek, niet in tabellen.
Tip: Voor andere grafiektypen converteert u de grafiek naar het equivalent van de strakke tabel zodat u gemakkelijk kunt interpreteren op welke rij de functie betrekking heeft.

Voor grafieken met meer dan één dimensie zijn de resultaten van uitdrukkingen met de functies Above, Below, Top en Bottom afhankelijk van de volgorde waarin de kolom met dimensies in QlikView zijn gesorteerd. QlikView evalueert de functies op basis van de kolomsegmenten die het resultaat zijn van de dimensie die als laatste is gesorteerd. De sorteervolgorde van de kolom wordt beheerd onder Sorteren en is niet per se gelijk aan de volgorde waarin de kolommen in een tabel worden weergegeven.Zie voor meer informatie voorbeeld 2 in de Above-functie.

Voorbeeld 2:  

Resultaat

De functie Below kan worden gebruikt als invoer voor de bereikfuncties. Bijvoorbeeld: RangeAvg (Below(Sum(Sales),1,3)).

In de argumenten voor de functie Below() is offset ingesteld op 1 en count ingesteld op 3. De functie retourneert de resultaten van de uitdrukking Sum(Sales) voor de drie rijen direct onder de huidige rij in het kolom segment (waar er een rij is). Deze drie waarden worden gebruikt als invoer voor de functie RangeAvg(), die het gemiddelde van de waarden in het opgegeven bereik van cijfers als resultaat geeft.

Een tabel met Customer als dimensie levert de volgende resultaten op voor de uitdrukking RangeAvg().

 
Astrida
Betacab
Canutility
Divadip:
659.67
720
757
-

Gegevens die worden gebruikt in voorbeelden:

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 '|');

Als u de maanden in de juiste volgorde wilt sorteren bij het maken van uw grafieken, gaat u naar het tabblad Sort van de grafiekeigenschappen en schakelt u het selectievakje Expression onder Sort by in. Schrijf Monthnumber in het uitdrukkingsvak.