Top - funzione per grafici

Top() valuta un'espressione nella prima riga (superiore) di un segmento di colonna in una tabella. La riga per la quale viene calcolata dipende dal valore dell'offset, se presente, e l'impostazione predefinita è la riga superiore. Per i grafici diversi dalle tabelle, la valutazione di Top() viene effettuata sulla prima riga della colonna attuale nell'equivalente di tabella lineare del grafico.

Sintassi:  

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

Restituisce il tipo di dati: duale

Argomenti:  

Argomento Descrizione
expr L'espressione o il campo contenente i dati da misurare.
offset

Specificando un offset di n maggiore di 1, la valutazione dell'espressione viene spostata in basso di n righe rispetto alla riga superiore.

Specificando un numero di offset negativo, la funzione Top diventa equivalente alla funzione Bottom con il numero di offset positivo corrispondente.

count Specificando un terzo parametro count maggiore di 1, la funzione restituirà una scala di valori count, uno per ciascuna delle ultime righe count del segmento di colonna attuale. In questo modulo la funzione può essere utilizzata come argomento per una qualsiasi delle funzioni di scala speciali. Funzioni di scala
TOTAL

Se la tabella è unidimensionale o se è utilizzato il qualificatore TOTAL come argomento, il segmento colonna attuale sarà sempre uguale all'intera colonna.

Vedere: Definizione dell'ambito di aggregazione

Nota: Un segmento di colonna viene definito come un sottogruppo consecutivo di celle con gli stessi valori per le dimensioni nell'ordine attuale. Le funzioni grafiche intra-record vengono calcolate nel segmento di colonna escludendo la dimensione più a destra nel grafico della tabella lineare equivalente. Se nel grafico è presente una sola dimensione oppure è specificato il qualificatore TOTAL, l'espressione viene valutata nell'intera tabella.
Nota: Se la tabella o l'equivalente di tabella include più dimensioni verticali, il segmento colonna attuale includerà solo righe contenenti gli stessi valori della riga attuale in tutte le colonne di dimensione, eccetto la colonna che mostra l'ultima dimensione nell'ordinamento tra campi.

Limiti:  

Le chiamate ricorrenti restituiranno NULL.

Esempi e risultati:  

Esempio: 1

Customer Sum(Sales) Top(Sum(Sales)) Sum(Sales) + Top(Sum(Sales)) Top offset 3
  2566 587 3153 3249
Astrida 587 587 1174 1270
Betacab 539 587 1126 1222
Canutility 683 587 1270 1366
Divadip 757 587 1344 1440

Nella rappresentazione del grafico tabellare mostrato in questo esempio, la tabella viene creata dalla dimensione Customer e dalle misure: Sum(Sales) e Top(Sum(Sales)).

La colonna Top(Sum(Sales)) restituisce 587 per tutte le righe perché corrisponde al valore della riga superiore: Astrida.

Nella tabella vengono mostrate anche misure più complesse: una creata da Sum(Sales)+Top(Sum(Sales)) e una con etichetta Top offset 3, che viene creata utilizzando l'espressione Sum(Sales)+Top(Sum(Sales), 3) e ha l'argomento offset impostato su 3. Aggiunge il valore Sum(Sales) per la riga attuale al valore della terza riga a partire dalla prima riga, ossia, la riga attuale più il valore per Canutility.

Esempio: 2

Nelle rappresentazioni dei grafici tabellari mostrate in questo esempio, sono state aggiunte altre dimensioni ai grafici: Month e Product. Per i grafici con più dimensioni, i risultati delle espressioni contenenti le funzioni Above, Below, Top e Bottom dipendono dalla modalità con cui le dimensioni di colonna vengono ordinate da QlikView. QlikView valuta le funzioni in base ai segmenti di colonna che derivano dalla dimensione ordinata per ultima. L'ordinamento delle colonne viene controllato in Ordinamento e non è necessariamente l'ordine in cui le colonne sono visualizzate in una tabella. Alcune righe non sono mostrate per risparmiare spazio.

Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida AA Feb 60 46
Astrida AA Mar 70 46
... ... ... ... ...
Astrida AA Sep 78 46
Astrida AA Oct 12 46
Astrida AA Nov 78 46
Astrida AA Dec 22 46
Astrida BB Jan 46 46
Prima tabella per l'esempio 2. Il valore di Top per la misura First value basata su Month (Jan).
Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida BB Jan 46 46
Astrida AA Feb 60 60
Astrida BB Feb 60 60
Astrida AA Mar 70 70
Astrida BB Mar 70 70
Astrida AA Apr 13 13
Astrida BB Apr 13 13
Seconda tabella per l'esempio 2. Il valore di Top per la misura First value basata su Product (AA per Astrida).

Per ulteriori informazioni, fare riferimento all'esempio 2 nella sezione relativa alla funzione Above.

Esempio: 3

Risultato

La funzione Top può essere utilizzata come input per le funzioni di scala. Ad esempio: RangeAvg (Top(Sum(Sales),1,3)).

Negli argomenti per la funzione Top(), offset viene impostato su 1 e count viene impostato su 3. La funzione trova i risultati dell'espressione Sum(Sales) sulle tre righe che iniziano con la riga sotto l'ultima riga nel segmento di colonna (dato che offset=1) e le due righe sottostanti (se è presente una riga). Questi tre valori vengono utilizzati come input per la funzione RangeAvg(), che individua la media dei valori nella scala di numeri fornita.

Una tabella in cui è stato impostato Customer come dimensione restituisce i seguenti risultati per l'espressione 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 '|');

Per ordinare correttamente i mesi nella sequenza esatta, quando si creano i grafici, accedere alla scheda Sort delle proprietà del grafico e selezionare la casella di controllo Expression in Sort by. Nella casella dell'espressione scrivere Monthnumber.