Above - diagramfunktion
Above() utvärderar ett uttryck på en rad ovanför den aktuella raden inom ett kolumnsegment i en tabell. Vilken rad som den beräknas för beror på värdet för offset, om sådant finns, standardvärdet är raden direkt ovanför. För diagram som inte är tabeller utvärderar Above() för raden ovanför den aktuella raden i diagrammets raka tabellmotsvarighet.
Syntax:
Above([TOTAL] expr [ , offset [,count]])
Returnerad datatyp: dual
Argument:
Argument | Beskrivning |
---|---|
expr | Det uttryck eller fält som innehåller de data som ska mätas. |
offset |
Om en offsetn, större än 0 anges, flyttas utvärderingen av uttrycket n antal rader ovanför den aktuella raden. Om startpunkt anges till 0 utvärderas uttrycket på den aktuella raden. Anges ett negativt värde för startpunkten gör det att Above-funktionen fungerar likadant som Below-funktionen med motsvarande positivt värde för startpunkten. |
count |
Om ett tredje uttryck, count, anges till större än 1, returnerar funktionen ett intervall av count-värden, ett för varje count-tabellrad. Raderna räknas uppåt från den ursprungliga cellen. I denna form kan funktionen användas som argument i någon av de speciella intervallfunktionerna. Intervallfunktioner |
TOTAL |
Om tabellen är endimensionell eller om kvalificeraren iTOTAL används som argument, motsvarar det aktuella kolumnsegmentet alltid hela kolumnen. |
På kolumnsegmentets första rad returneras värdet NULL, eftersom det inte finns någon rad ovanför denna.
Begränsningar:
-
Rekursiva anrop returnerar NULL.
-
Sortering på y-värden i diagram, eller sortering efter uttryckskolumner i tabeller, är inte tillåtet när denna diagramfunktion används i något av diagrammets uttryck. Dessa sorteringsalternativ är därför automatiskt inaktiverade. När du använder den här diagramfunktion i en visualisering eller tabell kommer sorteringen av visualiseringen att återgå till den sorterade inmatningen av den här funktionen.
Exempel och resultat:
Exempel 1:
I skärmdumpen av tabellen som visas i det här exemplet skapas tabellvisualiseringen från dimensionen Customer och måtten Sum(Sales) och Above(Sum(Sales)).
Kolumnen Above(Sum(Sales)) returnerar NULL för Customer-raden Astrida, eftersom det inte finns någon rad ovanför. Resultatet för raden Betacab visar värdet för Sum(Sales) för Astrida, resultatet för Canutility visar värdet för Sum(Sales) för Betacab och så vidare.
För kolumnen med etiketten Sum(Sales)+Above(Sum(Sales)) visar raden för Betacab resultatet av att Sum(Sales)-värdena lades till för raderna Betacab + Astrida (539+587). Resultatet för raden Betacab visar resultatet då Sum(Sales)-värden har lagts till för Canutility + Canutility (683+539).
Måttet med etiketten Above offset 3 som skapades med uttrycket Sum(Sales)+Above(Sum(Sales), 3) har argumentet offset, angivet som 3. Effekten blir att värdet hämtas i raden tre rader ovanför den aktuella raden. Det lägger till Sum(Sales)-värdet för aktuell Customer på värdet för Customer tre rader högre upp. Värdena som returneras för de första tre Customer-raderna är null.
Tabellen visar även mer komplexa mått: ett skapat utifrån Sum(Sales)+Above(Sum(Sales)) och ett med etiketten Higher?, som skapas utifrån IF(Sum(Sales)>Above(Sum(Sales)), 'Higher').
Exempel 2:
I tabellerna i skärmdumparna har fler dimensioner lagts till i visualiseringarna: Month och Product. För diagram med flera dimensioner beror resultatet för uttryck som innehåller funktionerna Above, Below, Top och Bottom på den ordning i vilken kolumndimensionerna sorteras av Qlik Sense. Qlik Sense evaluerar funktionerna baserat på de kolumnsegment som är resultatet från den dimension som kommer sist i sorteringsordningen. Sorteringsordningen för kolumner styrs från egenskapspanelen under Sortering. Den motsvarar inte nödvändigtvis den ordning i vilken kolumnerna visas i en tabell.
I följande skärmdump av tabellvisualiseringen för exempel 2 är den sista dimensionen i sorteringsordningen Month, så Above-funktionen utvärderar utifrån månader. Det finns en serie resultat för varje Product-värde för varje månad (Jan till Aug) – ett kolumnsegment. Detta följs av en serie för nästa kolumnsegment: för varje Month för nästa Product. Det finns ett kolumnsegment för varje Customer-värde för varje Product.
Exempel 3:
I skärmdumpen av tabellvisualiseringen för exempel 3 är den senast sorterade dimensionen Product. Detta görs genom att flytta dimensionen Product till läge 3 på fliken Sortering i egenskapspanelen. Funktionen Above evalueras för varje Product, och eftersom det bara finns två produkter, AA och BB, innehåller varje serie bara ett resultat som inte är null. I rad BB för månaden Jan är värdet för Above(Sum(Sales)) 46. För rad AA är värdet null. Värdet i varje AA-rad, oavsett månad, är alltid null eftersom det inte finns något värde för Product över AA. Den andra serien värderas efter AA och BB för månaden Feb, för Customer-värdet Astrida. När alla månader har utvärderats för Astrida upprepas sekvensen för den andra CustomerBetacab och så vidare.
Exempel 4: |
Resultat | ||||
---|---|---|---|---|---|
Funktionen Above kan användas som indata för intervallfunktionerna. Till exempel: RangeAvg (Above(Sum(Sales),1,3)). |
|
Data som används i exempel: