Below - funzione per grafici

Below() valuta un'espressione in una riga sotto la riga attuale all'interno di un segmento di colonna in una tabella. La riga per la quale viene calcolata dipende dall'offset, se presente, e l'impostazione predefinita è la riga direttamente sotto. Per i grafici diversi dalle tabelle, Below() restituisce un valore per la riga sotto la colonna attuale nell'equivalente di tabella lineare del grafico.

Sintassi:  

Below([TOTAL] expression [ , 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 n maggiore di 1, la valutazione dell'espressione viene spostata di n righe più in basso rispetto alla riga attuale.

Specificando un offset uguale a 0 è possibile valutare l'espressione in base alla riga corrente.

Specificando un numero di offset negativo, la funzione Below diventa equivalente alla funzione Above 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 righe della tabella count contando verso il basso a partire dalla cella originaria. 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

Sull'ultima riga di un segmento di colonna viene restituito un valore NULL, perché non vi sono righe che la seguono.

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) 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 - - - -
Il grafico tabellare per l'esempio 1.

Nella rappresentazione del grafico tabellare mostrata nell'esempio 1, la tabella viene creata dalla dimensione Customer e dalle misure: Sum(Sales) e Below(Sum(Sales)).

La colonna Below(Sum(Sales)) restituisce NULL per la riga Customer contenente Divadip perché non vi sono righe che la seguono. Il risultato per la riga Canutility mostra il valore di Sum(Sales) per Divadip, il risultato per Betacab mostra il valore per Sum(Sales) per Canutility, e così via.

La tabella mostra inoltre misure complesse che è possibile vedere nelle colonne con etichetta: Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 e Higher?. Queste espressioni funzionano come descritto nei seguenti paragrafi.

Per la colonna con etichetta Sum(Sales)+Below(Sum(Sales)), la riga per Astrida mostra il risultato dell'aggiunta dei valori Sum(Sales) per le righe Betacab + Astrida (539+587). Il risultato per la riga Betacab mostra il risultato dell'aggiunta dei valori Sum(Sales) per Canutility + Betacab (539+683).

La misura con etichetta Below +Offset 3 creata utilizzando l'espressione Sum(Sales)+Below(Sum(Sales), 3) ha l'argomento offset, impostato su 3, e ha l'effetto di portare il valore della riga tre righe sotto il valore attuale. Aggiunge il valore Sum(Sales) per il valore Customer attuale dal valore Customer tre righe successive. I valori per le prime tre righe Customer più in basso sono null.

La misura con etichetta Higher? viene creata dall'espressione:IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Questa esegue il confronto dei valori della riga attuale nella misura Sum(Sales) con le righe sotto di essa. Se la riga attuale presenta un valore più alto, viene restituito "Higher".

Suggerimento: Questa funzione può essere utilizzata nei grafici diversi dalle tabelle, ad esempio nei grafici a barre.
Suggerimento: Per gli altri tipi di grafici, convertire il grafico nell'equivalente di tabella lineare per individuare facilmente la riga a cui si riferisce la funzione.

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.Per ulteriori informazioni, fare riferimento all'esempio 2 nella sezione relativa alla funzione Above.

Esempio 2:  

Risultato

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

Negli argomenti per la funzione Below(), offset viene impostato su 1 e count viene impostato su 3. La funzione trova i risultati dell'espressione Sum(Sales) nelle tre righe immediatamente sotto la riga attuale nel segmento di colonna (dove si trova 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:
659.67
720
757
-

Dati utilizzati negli esempi:

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.