Esempi di funzioni grafiche inter record
Esempi con la funzione top
Gli esempi di seguito riguardano la funzione top ma potrebbero valere similmente per le funzioni bottom, first e last. Tuttavia, è necessario tenere presente che le funzioni first e last sono pertinenti solo alle tabelle pivot.
Esempio 1:
Analizzare la tabella lineare seguente, che descrive l'utilizzo della funzione top in una tabella monodimensionale:
Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|
- | 21 | 3 | 700% |
1 | 3 | 3 | 100% |
2 | 7 | 3 | 233% |
3 | 11 | 3 | 367% |
Nel caso di dimensioni singole, la funzione top farà sempre riferimento alla prima riga di dati della tabella (la riga totale non è inclusa).
Tenere presente che le espressioni che utilizzano la funzione top vengono valutate in modo appropriato anche in corrispondenza della riga relativa al totale, perché tale valore presenta una relazione evidente con un segmento di colonna specifico, in questo caso l'intera colonna.
Esempio 2:
Qui è possibile osservare una tabella lineare bidimensionale ordinata principalmente sul campo Grp.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | 1 |
1 | A | 1 | 1 | 1 |
2 | A | 3 | 1 | 1 |
3 | A | 5 | 1 | 1 |
1 | B | 2 | 2 | 1 |
2 | B | 4 | 2 | 1 |
3 | B | 6 | 2 | 1 |
La funzione top senza il qualificatore total restituirà a questo punto l'espressione valutata sulla riga più alta all'interno del gruppo di ordinamento più interno (dimensione Grp in questo caso). Verrà restituito un valore per Grp = A e uno per Grp = B.
Usando il qualificatore total nel caso multi-dimensionale, è possibile ancora fare riferimento alla riga più alta in assoluto nella tabella con lo stesso valore restituito per tutte le righe. L'espressione sarà valutata per il segmento di colonna sull’intera colonna.
L'espressione che utilizza la funzione top senza il qualificatore total viene valutata come NULL nella riga totale, perché non può essere associata in modo esplicito a un segmento di colonna specifico.
Ora la tabella lineare precedente verrà convertita in una tabella pivot con tutti i totali attivati.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
1 | A | 1 | 1 | 1 |
1 | B | 2 | 1 | 1 |
1 | Totale | 3 | 1 | - |
2 | A | 3 | 3 | 1 |
2 | B | 4 | 3 | 1 |
2 | Totale | 7 | 3 | - |
3 | A | 5 | 5 | 1 |
3 | B | 6 | 5 | 1 |
3 | Totale | 11 | 5 | - |
Totale | - | 21 | - | 1 |
L'espressione che utilizza la funzione top senza il qualificatore total viene valutata come NULL nella riga totale, perché non può essere associata in modo esplicito a un segmento di colonna specifico. Tuttavia, tutte le somme parziali verranno valutate per ogni segmento di colonna.
L'espressione che usa il qualificatore total mancherà di valori nel totale parziale ma restituirà un valore nella riga del totale generale.
Esempio 3:
Analizzare la tabella lineare seguente ordinata sul campo Grp:
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
2 | A | 3 | 1 | 300% |
3 | A | 5 | 1 | 500% |
1 | B | 2 | 2 | 100% |
2 | B | 4 | 2 | 200% |
3 | B | 6 | 2 | 300% |
Si può continuare modificando l’ordine inter-field in modo che il grafico sia ordinato primariamente sul campo Month. La tabella apparirà quindi in questo modo:
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
1 | B | 2 | 1 | 200% |
2 | A | 3 | 3 | 100% |
2 | B | 4 | 3 | 133% |
3 | A | 5 | 5 | 100% |
3 | B | 6 | 5 | 120% |
Esempi con la funzione above
Questi esempi sono sviluppati con la funzione above ma possono essere applicati in maniera simile alle funzioni below, before e after. Tuttavia, tenere presente che le funzioni before e after sono pertinenti solo alle tabelle pivot.
Esempio 4:
Osservare la tabella lineare seguente, che descrive l'uso della funzione above in una tabella monodimensionale:
Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
---|---|---|---|
- | 21 | - | - |
1 | 3 | - | - |
2 | 7 | 3 | 233% |
3 | 11 | 7 | 157% |
La terza colonna mostra l'espressione sum(Val) valutata una riga sopra la riga corrente, la quale può essere confermata mediante la comparazione con i valori sum(val) della seconda colonna. Nella prima riga, la funzione above restituisce il valore NULL, perché non sono presenti righe superiori rispetto alle quali valutare l’espressione. La funzione above restituisce sempre NULL su tutte le righe del totale.
La quarta colonna mostra il principale utilizzo di questa funzione, ad esempio per calcolare la differenza di tempo.
Esempio 5:
Studiare la tabella pivot bidimensionale riportata sotto:
Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
---|---|---|---|---|
A | 1 | 1 | - | - |
A | 2 | 3 | 1 | 1 |
A | 3 | 5 | 3 | 3 |
A | Totale | 9 | - | - |
B | 1 | 2 | - | 5 |
B | 2 | 4 | 2 | 2 |
B | 3 | 6 | 4 | 4 |
B | Totale | 12 | - | - |
Totale | - | 21 | - | - |
La funzione above senza il qualificatore total (terza colonna) avrà validità solo all'interno di ogni gruppo di ordinamento. Sarà restituito un valore NULL nella colonna più alta di ogni segmento di colonna.
Quando si aggiunge un qualificatore total (quarta colonna), l’intera colonna è considerata come un segmento di colonna. Solo la riga più alta restituirà il valore NULL. Tutte le righe totali verranno ignorate e restituiranno il valore NULL.
Esempi con le funzioni RowNo e NoOfRows
Questo esempio riguarda la funzione RowNo e NoOfRows ma essere applicato in modo analogo alle funzioni ColumnNo e NoOfColumns. Tuttavia, tenere presente che le funzioni ColumnNo e NoOfColumns sono pertinenti solo alle tabelle pivot.
Esempio 6:
Studiare la tabella pivot bidimensionale riportata sotto:
Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
---|---|---|---|---|---|
1 | A | 1 | 1 | 2 | 6 |
1 | B | 2 | 2 | 2 | 6 |
1 | Totale | 0 | - | 2 | - |
2 | A | 1 | 3 | 2 | 6 |
2 | B | 2 | 4 | 2 | 6 |
2 | Totale | 0 | - | 2 | - |
3 | A | 1 | 5 | 2 | 6 |
3 | B | 2 | 6 | 2 | 6 |
3 | Totale | 0 | - | 2 | - |
Totale | - | - | 0 | - | 6 |
- Colonna 3 La funzione RowNo restituirà il numero di riga all’interno in ogni segmento di colonna del gruppo di ordinamento. Nella riga relativa ai subtotali viene restituito il numero di riga 0, perché questi valori totali appartengono a un segmento di colonna specifico. Nella riga del totale generale sarà restituito il valore NULL.
- Colonna 4 Con il qualificatore total, la funzione RowNo restituirà il numero di righe all'interno dell'intera colonna. Nelle righe dei subtotali verrà restituito un valore NULL. Nella riga del totale generale sarà restituito il valore 0.
- Colonna 5 La funzione NoOfRows restituirà il numero di righe di dati in ogni segmento di colonna del gruppo di ordinamento. Nelle righe dei subtotali verrà restituito lo stesso numero delle righe dei dati. Nella riga del totale generale sarà restituito il valore NULL.
- Colonna 6 Con il qualificatore total, la funzione NoOfRows restituirà il numero di righe di dati nell'intera colonna, ovvero lo stesso numero restituito nella riga del totale generale. Nella riga dei subtotali sarà restituito il valore NULL.