Above - diagramfunctie

Above() evalueert een uitdrukking in een rij boven 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 bovenliggende rij is de standaardwaarde. Voor andere diagrammen dan tabellen, evalueert Above() voor de rij boven de huidige rij in het equivalent van de standaard tabel in het diagram.

Syntax:  

Above([TOTAL] expr [ , offset [,count]])

Return data type: duaal

Arguments:  

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

Als een groter dan 0 wordt opgegeven, wordt de evaluatie van de uitdrukking rijen verder omhoog verplaatst, geteld vanaf de huidige rij.offsetnn

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

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

count

Als een derde argument count groter dan 1 wordt opgegeven, retourneert de functie niet één maar een bereik van count-waarden. Eén waarde voor elke count tabelrijen, omhoog 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.

Het aggregatiebereik definiëren

Op de eerste rij van een kolomsegment wordt een NULL-waarde geretourneerd, omdat er geen rij boven de eerste 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-diagramfuncties worden berekend in het kolomsegment met uitzondering van de dimensie uiterst rechts in de equivalente strakke tabel. Als er slechts één dimensie is in het diagram, 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.

Limitations:  

Recursieve oproepen retourneren een NULL-waarde.

Examples and results:  

Example 1:  

De tabelvisualisatie voor Voorbeeld 1.

In de schermafbeelding van de tabel die in dit voorbeeld wordt weergegeven, wordt de tabelvisualisatie gemaakt op basis van de dimensie Customer en de metingen Sum(Sales) en Above(Sum(Sales)).

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

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

De meting met het label Above offset 3 die is gemaakt met behulp van de uitdrukking Sum(Sales)+Above(Sum(Sales), 3) bevat het argument offset, dat is ingesteld op 3, en neemt de waarde in de drie rijen boven de huidige rij aan. De waarde van Sum(Sales) voor de huidige Customer wordt toegevoegd aan de waarde voor de drie bovenliggende rijen van Customer. De waarden die worden geretourneerd voor de eerste drie rijen van Customer zijn null.

In de tabel worden tevens complexere metingen getoond: één die is gemaakt op basis van Sum(Sales)+Above(Sum(Sales)) en één met het label Higher?, die is gemaakt op basis van IF(Sum(Sales)>Above(Sum(Sales)), 'Higher').

Tip: Deze functie kan behalve in tabellen ook worden gebruikt in diagrammen, bijvoorbeeld in staafdiagrammen.
Tip: Voor andere diagramtypen converteert u het diagram naar het equivalent van de strakke tabel zodat u gemakkelijk kunt interpreteren op welke rij de functie betrekking heeft.

Example 2:  

In de schermafbeelding van tabellen die worden weergegeven in dit voorbeeld, zijn meer dimensies toegevoegd aan de visualisaties: en . Month en Product. Voor diagrammen 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 op Qlik Sense zijn gesorteerd. Qlik Sense 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 in het eigenschappenvenster onder Sorteren en is niet per se gelijk aan de volgorde waarin de kolommen in een tabel worden weergegeven.

In de volgende schermafbeelding van tabelvisualisatie voor Voorbeeld 2 is Month de als laatste gesorteerde dimensie, dus de functie Above wordt geëvalueerd op basis van maanden. Er is een reeks van resultaten voor elke waarde van Product voor elke maand (Jan t/m Aug) - een kolomsegment. Dit wordt gevolgd door een reeks voor het volgende kolomsegment: voor elke Month voor het volgende Product. Er is een kolomsegment beschikbaar voor elke waarde van Customer voor elk Product.

De tabelvisualisatie voor Voorbeeld 2.

Example 3:  

In de schermafbeelding van de tabelvisualisatie voor Voorbeeld 3 is Product de als laatste gesorteerde dimensie. Dit wordt gedaan door de dimensie Product te verplaatsen naar positie 3 op het tabblad Sorteren in het eigenschappenvenster. De functie Above wordt geëvalueerd voor elk Product, en omdat er maar twee producten zijn, AA en BB, is er slechts één resultaat dat niet null is in elke reeks. In rij BB voor de maand Jan bedraagt de waarde voor Above(Sum(Sales)) 46. Voor rij AA is de waarde null. De waarde in elke rij AA voor elke maand is altijd null, aangezien er geen waarde van Product boven AA is. De tweede reeks wordt geëvalueerd op AA en BB voor de maand Feb, voor de waarde van Customer, Astrida. Als alle maanden zijn geëvalueerd voor , wordt de reeks herhaald voor de tweede waarde van , enzovoort.AstridaCustomerBetacab

De tabelvisualisatie voor Voorbeeld 3.

Example 4:  

Resultaat

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

In de argumenten voor de functie Above() 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 boven de huidige rij in het kolomsegment (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:

-

587

563

603

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 visualisaties, gaat u naar de sectie Sorting van het eigenschappenvenster, selecteert u Month en schakelt u het selectievakje Sort by expression in. Schrijf Monthnumber in het uitdrukkingsvak.