Gå till huvudinnehåll Gå till ytterligare innehåll

Below

Below() utvärderar ett uttryck på en rad under 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 nedanför. För diagram som inte är tabeller utvärderar Below() för raden nedanför den aktuella kolumnen i diagrammets raka tabellmotsvarighet.

Syntax:  

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

Returnerad datatyp: dual

Argument:  

  • expr: Det uttryck eller fält som innehåller de data som ska mätas.
  • offset: Om en offset n som är större än 0 anges, flyttas utvärderingen av uttrycket n rader uppåt från 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 funktionen Above fungerar likadant som funktionen Below med motsvarande positivt värde för startpunkten.
  • count: Om du anger ett tredje argument som är count större än 1, returnerar funktionen ett intervall på count värden, ett för varje count tabellrader räknat 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.

    Definiera aggregeringens omfattning

På kolumnsegmentets sista rad returneras värdet NULL, eftersom det inte finns någon rad nedanför denna.

Anteckning om informationEtt kolumnsegment definieras som en konsekutiv underuppsättning med celler som har samma värden för dimensionerna i den aktuella sorteringsordningen. Postöverskridande diagramfunktioner beräknas i kolumnsegmentet exklusive dimensionen längst till höger i motsvarande raka tabelldiagram. Om det enbart finns en dimension i diagrammet, eller om kvalificeraren TOTAL anges, utvärderas uttrycket över en hel tabell.
Anteckning om informationOm tabellen eller diagrammets tabellmotsvarighet har flera vertikala dimensioner, inbegriper det aktuella kolumnsegmentet endast rader som har samma värden som den aktuella raden i samtliga dimensionskolumner, utom den kolumn som visar den sista dimensionen i fältens inbördes sorteringsordning.

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:  

Exempel på utdata i tabell
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 - - - -

I återgivningen av det tabelldiagram som visas i exempel 1 skapas tabellen från dimensionen Customer och måtten: Sum(Sales) och Below(Sum(Sales)).

Kolumnen Below(Sum(Sales)) returnerar NULL för Customer-raden Divadip, eftersom det inte finns någon rad nedanför. Resultatet för raden Canutility visar värdet för Sum(Sales) för Divadip, resultatet för Betacab visar värdet för Sum(Sales) för Canutility och så vidare.

I tabellen visas även mer komplexa mått, som du kan se i kolumnerna med etiketterna: Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 och Higher?. Dessa uttryck fungerar på det sätt som beskrivs i nedanstående paragrafer.

För kolumnen med etiketten Sum(Sales)+Below(Sum(Sales)) visar raden för Astrida resultatet av att Sum(Sales)-värdena lades till för raderna Betacab + Astrida (539+587). Resultatet för raden Betacab visar resultatet av att Sum(Sales) värden läggs till för Canutility + Betacab (539+683).(539+683).

Måttet med etiketten Below +Offset 3 som skapades med uttrycket Sum(Sales)+Below(Sum(Sales), 3) har argumentet offset, angivet som 3. Effekten blir att värdet hämtas i raden tre rader nedanför den aktuella raden. Det lägger till Sum(Sales)-värdet för aktuell Customer på värdet från Customer tre rader längre ner. Värdena för de lägsta tre Customer-raderna är null.

Måttet med etiketten Higher? skapas av uttrycket: IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Detta jämför värdena för den aktuella raden i måttet Sum(Sales) med raden nedanför den. Om den aktuella raden har ett större värde visas texten ”Higher”.

Anteckning om tipsFunktionen kan även användas i andra diagram, inte bara tabeller – exempelvis i stapeldiagram.
Anteckning om tipsFör andra diagramtyper omvandlar du diagrammet till den raka tabellmotsvarigheten så att du enkelt kan tolka vilken rad funktionen är relaterad till.

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 QlikView. QlikView evaluerar funktionerna baserat på de kolumnsegment som är resultatet från den dimension som kommer sist i sorteringsordningen. Sorteringsordningen för kolumner styrs under Sortera. Den motsvarar inte nödvändigtvis den ordning i vilken kolumnerna visas i en tabell.Mer information finns i Exempel 2 i Above-funktionen.

Exempel 2:  

Funktionen Below kan användas som indata för intervallfunktionerna. Exempelvis: RangeAvg (Below(Sum(Sales),1,3)).

I argumenten för Below()-funktionen är offset inställt på 1 och count är inställt på 3. Funktionen hittar resultatet för uttrycket Sum(Sales) på de tre raderna precis under aktuell rad i kolumnsegmentet (där det finns en rad). De här tre värdena används som indata för funktionen RangeAvg() som räknar ut medelvärdet för ett angivet talintervall.

En tabell med Customer som dimension ger följande resultat för uttrycket.

Exempel på utdata i tabell
Customer RangeAvg (Below(Sum(Sales),1,3))
Astrida 659.67
Betacab 720
Canutility 757
Divadip -

Data som används i exempel:

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

För att få månaderna att sorteras i korrekt ordning när du skapar dina diagram går du till fliken Sort under diagramegenskaperna och markerar kryssrutan Expression under Sort by. Skriv Monthnumber i uttrycksrutan.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!

Gå med i programmet Analytics Modernization

Remove banner from view

Modernisera utan att kompromissa med dina värdefulla QlikView-appar med programmet för analysmodernisering. Klicka här för mer information eller ta kontakt: ampquestions@qlik.com