Somma di righe nelle tabelle pivot
La tabella lineare di QlikView permette di scegliere i suoi totali come semplice somma di righe o come totale di espressioni calcolate. La tabella pivot di QlikView non offre questa possibilità. I totali delle tabelle pivot sono sempre calcolati come totale di espressioni.
In genere è utile, perché la somma di più righe è raramente significativa nel caso in cui due siano differenti.
Dopo questa considerazione, nella seguente sezione verrà illustrato un esempio dove la somma di righe totali restituisce comunque il risultato desiderato.
Esempio:
In questo esempio viene illustrata una gara scolastica in cui tre team di studenti ottengono punti in base al loro livello in tre classi differenti. I team possono selezionare il punteggio più alto all’interno di un gruppo per ogni classe individuale e quindi aggiungere i tre punteggi più alti assieme come totale. I dati seguenti sono stati letti dallo script:
Una tabella lineare con Class come dimensione e Max(Score) come espressioni consente di ottenere la seguente somma di righe:
Se la tabella lineare venisse convertita in una tabella pivot che viene sempre calcolata come totale di espressioni anziché come somma di righe, si verificherebbe un problema:
In questo caso specifico, il totale di 12 è il risultato previsto e 5 è ugualmente sbagliato per la finalità desiderata. In questo caso, nell'espressione è possibile utilizzare la funzione Aggr invece della dimensione.
L'espressione originale è racchiusa in una funzione Aggr, che utilizza anche la dimensione del grafico circostante come dimensione nella funzione Aggr. Ora questo bundle viene utilizzato come argomento per un'aggregazione Sum. La tabella mostrerà ora il totale previsto:
Il vantaggio della funzione di aggregazione avanzata è che nelle singole righe viene restituito un valore singolo. Questo perché la dimensione presenta un solo valore possibile in ciascuna riga di dati ordinaria. Poiché la dimensione interna e l'espressione sono le stesse del grafico circostante, ciascun valore è esattamente uguale al risultato senza le funzioni Sum e di aggregazione avanzate che li racchiudono.
Per la riga totale, comunque, la funzione di aggregazione avanzata restituirà tre valori, uno per ogni valore del campo di dimensione. Questi saranno quindi sommati mediante l'aggregazione Sum Mentre formalmente risulterà ancora un totale di espressione, il risultato sarà uguale alla somma di righe.