Top - diagramfunctie

Top() evalueert een uitdrukking in de eerste rij (bovenste rij) van een kolomsegment in een tabel. De rij waarvoor deze waarde wordt berekend is afhankelijk van de waarde van offset, indien aanwezig. De bovenste rij is de standaardwaarde. Voor andere diagrammen dan tabellen, wordt bij Top() de eerste rij van de huidige kolom in het equivalent van de standaard tabel in het diagram geëvalueerd.

Syntax:  

Top([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 offset n groter dan 1 wordt opgegeven, wordt de evaluatie van de uitdrukking n rijen omlaag verplaatst onder de bovenste rij.

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

count Als een derde parameter count groter dan 1 is aangegeven, retourneert de functie een bereik van count waarden. Een waarde voor elk van de laatste count rijen van het huidige kolomsegment. 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

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

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 Top(Sum(Sales)).

De kolom Top(Sum(Sales)) retourneert 587 voor alle rijen omdat dit de waarde van de bovenste rij is: Astrida.

In de tabel worden tevens complexere metingen weergegeven: één die is gemaakt op basis van Sum(Sales)+Top(Sum(Sales)) en één met het label Top offset 3, die is gemaakt met behulp van de uitdrukking Sum(Sales)+Top(Sum(Sales), 3) en waarvoor het argument offset is ingesteld op 3. Hiermee wordt de waarde Sum(Sales) voor de huidige rij toegevoegd aan de waarde van de rij die zich drie rijen onder de bovenste rij bevindt. Met andere woorden: de huidige rij plus de waarde voor Canutility.

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.

Eerste tabel voor Voorbeeld 2. De waarde van Top voor de meting First value gebaseerd op Month (Jan).

Tweede tabel voor Voorbeeld 2. De waarde van Top voor de meting First value gebaseerd op Product (AA voor Astrida).

Zie voor meer informatie voorbeeld 2 in de Above-functie.

Example: 3

Resultaat

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

In de argumenten voor de functie Top() is offset ingesteld op 1 en count ingesteld op 3. De functie retourneert de resultaten van de uitdrukking Sum(Sales) voor de drie rijen te beginnen met de rij onder de onderste rij in het kolomsegment (omdat offset=1) en de twee rijen daaronder (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:

603

603

603

603

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.