Uso dell'istruzione OVER per fare riferimenti alle parti di dati
Le espressioni personalizzate vengono valutate sulle parti dei dati, rappresentati dai marcatori nella visualizzazione. Nelle espressioni personalizzate è possibile utilizzare le istruzioni OVER quando si desidera includere nella valutazione di un'espressione anche dati provenienti dall'esterno della parte corrente.
Per spiegare cosa significa includere dati dall'esterno della parte corrente, fare riferimento all'immagine seguente. Un'immagine simile è utilizzata per illustrare le nozioni concettuali su suddivisioni e marcatori, che sono essenziali per comprendere quando lavorare con le espressioni personalizzate, in particolare con quelle che contengono un'istruzione OVER.
La grande scatola simboleggia tutte le righe di una tabella dati contenente le vendite annuali in diverse regioni per alcuni tipi di frutta, mentre i cubi simboleggiano le diverse parti in cui sono suddivisi i dati.

Si assuma di voler confrontare Sales of Oranges, North, 2018 con Sales of Lemons, West, 2018, oppure con Sales of Oranges, West, 2015-2017. In una tale espressione, pertanto, è necessario fare riferimento a parti di dati esterni a Sales of Oranges, North, 2018, operazione che viene eseguita utilizzando l'istruzione OVER. L'istruzione OVER consente di ottenere nuovi modi per raggruppare i dati a cui fare riferimento nelle espressioni.
Il modo più semplice per spiegare come scrivere istruzioni OVER nelle espressioni e come queste istruzioni lavorano, è attraverso degli esempi.
Esempi di espressioni OVER
[Axis.X]
o[Axis.Color]
.Il grafico a dispersione mostra la somma di Sales per ogni Fruit; Apples, Oranges e Pears. Il totale di Sales ammonta a 300.

Quando è specificata l'espressione
Sum([Sales]) OVER (All([Axis.X]))
sull'asse Y, ciascun marcatore viene nuovamente valutato e il grafico a dispersione cambia in:

Per comprendere il risultato, prendiamo ad esempio in esame il marcatore che presenta Sum of Sales, Apples. L'espressione personalizzata implica la rivalutazione del marcatore per mostrare la somma delle vendite per tutte le parti dell'asse X, ossia la somma delle vendite di Apples, Oranges e Pears (150+80+70). Lo stesso accade per gli altri marcatori, in modo che tutti comportino identici risultati finali. Infatti, la sezione OVER (All([Axis.X]))
dell'espressione implica che la suddivisione sull'asse X venga ignorata.
Nel prossimo esempio viene effettuata una ulteriore suddivisione dei dati, dato che viene specificato l'anno sull'asse dei colori.

Cambiare l'asse Y nella seguente espressione:
Sum([Sales]) OVER (All([Axis.Color]))

Questa espressione personalizzata implica la rivalutazione di ciascun marcatore per mostrare la somma di tutte le parti a colori, di fatto ignorando la suddivisione effettuata dal colore.
Si prendano ad esempio Pears, 2015 (la stessa blu denominata Pears). Il nuovo valore del marcatore mostra la somma delle vendite di pere per tutti e tre gli anni (40+20+10). Tutti i marcatori appartenenti a un tipo di frutta ottengono lo stesso valore dell'asse Y, indipendentemente dal colore (Year).
Non esistono usi pratici degli esempi precedenti, tuttavia tramite essi è possibile comprendere come lavora l'istruzione OVER in combinazione con i cosiddetti metodi di navigazione dei nodi.
Uso delle istruzioni OVER nelle colonne calcolate
L'uso dell'istruzione OVER nelle colonne calcolate funziona in maniera diversa rispetto all'uso dell'istruzione nelle espressioni personalizzate. Nelle colonne calcolate potrebbe portare a un numero minore di record.
- Uso delle istruzioni OVER nelle colonne calcolate
È possibile effettuare calcoli sui dati e visualizzare i risultati sotto forma di valori in una nuova colonna aggiunta alla tabella dati. Nell'espressione utilizzata per il calcolo, è possibile utilizzare l'istruzione OVER. Tuttavia, l'uso dell'istruzione OVER nelle colonne calcolate funziona in maniera diversa rispetto all'uso dell'istruzione nelle espressioni personalizzate. Nelle colonne calcolate, l'espressione OVER è utilizzata per calcolare valori separati fissi per gruppi diversi. L'espressione OVER può comportare la suddivisione dei dati in un numero minore di record. - Utilizzo delle aggregazioni nelle espressioni OVER
Per visualizzare i risultati di un'espressione in una vista aggregata dei valori di una colonna è sufficiente utilizzare la funzione dell'espressione che consente di impostare l'output desiderato. Ad esempio, per visualizzare il riepilogo di una colonna contenente i dati di vendita, è necessario immettereSum([Sales])
nel campo dell'espressione. Tuttavia, i valori aggregati combinati con espressioni OVER consentono di suddividere i dati nel modo desiderato. - Utilizzo delle espressioni sui dati aggregati (parola chiave THEN)
L'utilizzo della parola chiave THEN permette di valutare un'espressione su dati già aggregati, in genere i dati nella visualizzazione corrente. In molti casi, questo può fornire prestazioni migliori nei calcoli. Ad esempio, quando si utilizzano espressioni OVER le prestazioni migliorano se si esegue prima l'aggregazione dei dati e si applica successivamente la parte OVER dell'espressione. Ciò è necessario quando si lavora con dati interni al database poiché in tal caso non sono presenti dati disponibili a livello di riga, ma è possibile migliorare le prestazioni anche quando si lavora con dati interni alla memoria.