Bottom
Bottom() valuta un'espressione nell'ultima riga (inferiore) 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 direttamente nella parte inferiore. Per i grafici diversi dalle tabelle, la valutazione viene effettuata sull'ultima riga della colonna attuale nell'equivalente di tabella lineare del grafico.
Sintassi:
Bottom([TOTAL] expr [ , offset [,count ]])
Tipo di dati restituiti: duale
Argomenti:
- expr: L'espressione o il campo contenente i dati da misurare.
- offset: Specificando un offset n maggiore di 0, è possibile spostare la valutazione dell'espressione n righe più in alto della riga corrente. Specificando un offset uguale a 0 è possibile valutare l'espressione in base alla riga corrente. Specificando un numero di offset negativo, la funzione Above diventa equivalente alla funzione Below con il numero di offset positivo corrispondente.
- count: Specificando un terzo argomento count maggiore di 1, la funzione restituirà una scala di valori count, uno per ciascuna delle righe della tabella count contando verso l'alto 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.
Limiti:
-
Le chiamate ricorrenti restituiranno NULL.
-
L'ordinamento sui valori y nei grafici o l'ordinamento per colonne di espressione nelle tabelle non è consentito quando si utilizza questa funzione di grafico in una qualsiasi delle espressioni del grafico. Queste alternative di ordinamento verranno perciò disattivate automaticamente. Quando si utilizza questa funzione di grafico in una visualizzazione o in una tabella, l'ordinamento della visualizzazione torna all'ordinamento inserito in questa funzione.
Esempi e risultati:
Esempio 1:
Customer | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales) + Bottom(Sum(Sales)) | Bottom offset 3 |
---|---|---|---|---|
- | 2566 | 757 | 3323 | 3105 |
Astrida | 587 | 757 | 1344 | 1126 |
Betacab | 539 | 757 | 1296 | 1078 |
Canutility | 683 | 757 | 1440 | 1222 |
Divadip | 757 | 757 | 1514 | 1296 |
Nella rappresentazione del grafico tabellare mostrata in questo esempio, la tabella viene creata dalla dimensione Customer e dalle misure: Sum(Sales) e Bottom(Sum(Sales)).
La colonna Bottom(Sum(Sales)) restituisce 757 per tutte le righe perché questo è il valore dell'ultima riga: Divadip.
Nella tabella vengono mostrate anche misure più complesse: una creata da Sum(Sales)+Bottom(Sum(Sales)) e una con etichetta Bottom offset 3, che viene creata utilizzando l'espressione Sum(Sales)+Bottom(Sum(Sales), 3) e ha l'argomento offset impostato su 3. Aggiunge il valore Sum(Sales) per la riga attuale al valore della riga tre righe sopra l'ultima riga, ossia, la riga attuale più il valore per Betacab.
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.
Nella prima tabella l'espressione viene valutata in base a Month e nella seconda tabella viene valutata in base a Product. La misura End value contiene l'espressione Bottom(Sum(Sales)). La riga inferiore per Month è Dec e il valore per Dec, per entrambi i valori di Product mostrati nella schermata, è 22. Alcune righe non sono mostrate per risparmiare spazio.
Customer | Product | Month | Sum(Sales) | End value |
---|---|---|---|---|
- | - | - | 2566 | - |
Astrida | AA | Jan | 46 | 22 |
Astrida | AA | Feb | 60 | 22 |
Astrida | AA | Mar | 70 | 22 |
... | ... | ... | ... | ... |
Astrida | AA | Sep | 78 | 22 |
Astrida | AA | Oct | 12 | 22 |
Astrida | AA | Nov | 78 | 22 |
Astrida | AA | Dec | 22 | 22 |
Astrida | BB | Jan | 46 | 22 |
Customer | Product | Month | Sum(Sales) | End 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 |
Per ulteriori informazioni, fare riferimento all'esempio 2 nella sezione relativa alla funzione Above.
Esempio 3:
La funzione Bottom può essere utilizzata come input per le funzioni di scala. Ad esempio: RangeAvg (Bottom(Sum(Sales),1,3)).
Negli argomenti per la funzione Bottom(), offset è impostato su 1 e count è impostato su 3. La funzione trova i risultati dell'espressione Sum(Sales) sulle tre righe che iniziano con la riga sopra l'ultima riga nel segmento di colonna (dato che offset=1) e le due righe sopra (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().
Customer | RangeAvg (Bottom(Sum(Sales),1,3)) |
---|---|
Astrida | 659.67 |
Betacab | 659.67 |
Canutility | 659.67 |
Divadip | 659.67 |
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.