Funzioni OVER

Le funzioni OVER servono per determinare come suddividere i dati, ad esempio, rispetto a periodi di tempo.

Nota: l'uso delle funzioni OVER è diverso per le espressioni personalizzate e per le colonne calcolate. Nelle espressioni personalizzate è possibile includere riferimenti agli assi, mentre nelle colonne calcolate si può fare riferimento solo a colonne o a gerarchie stabilite.

Per ulteriori informazioni, vedere Uso dell'istruzione OVER per fare riferimenti alle parti di dati e Uso delle istruzioni OVER nelle colonne calcolate.

Opzione Descrizione
All Utilizza tutti i nodi nella gerarchia di riferimento. Questa operazione è utile se il nodo corrente si interseca con più gerarchie. Ad esempio, è possibile mostrare le vendite relative di diverse categorie di prodotto per ogni mese.

Esempi di espressioni personalizzate:

Sum([Sales]) / Sum([Sales]) OVER (Intersect(All([Axis.Color]), [Axis.X]))

Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X])) * 100

Esempi di colonne calcolate:

Sum([Sales]) OVER All([Date])

Max([Sales]) OVER Intersect([Category], All([Date]))

AllNext Utilizza tutti i nodi, incluso quello corrente, fino alla fine del livello.

Esempio di una espressione personalizzata:

Sum([Sales]) OVER (AllNext([Axis.X]))

Esempi di colonne calcolate:

Sum([Sales]) OVER AllNext([Date])

Max([Sales]) OVER Intersect([Category], AllNext([Date]))

AllPrevious Utilizza tutti i nodi, incluso quello corrente, dall'inizio del livello. Serve per calcolare la somma totale.

Esempi di espressioni personalizzate:

Sum([Sales]) OVER (AllPrevious([Axis.X]))

Sum([Sales]) OVER (Intersect(Parent([Axis.X]), AllPrevious([Axis.X])))

Esempi di colonne calcolate:

Sum([Sales]) OVER AllPrevious([Date])

Max([Sales]) OVER Intersect([Category], AllPrevious([Date]))

FirstNode Seleziona il primo nodo sul livello corrente.

Esempio di una espressione personalizzata:

Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Axis.X]))

Esempio di una colonna calcolata:

Sum([Sales]) - Sum([Sales]) OVER (FirstNode([Hierarchy.TimeHierarchy]))

Intersect Restituisce le righe intersecate dai nodi di diverse gerarchie. Vedere anche AllPrevious e All.

Esempio di una espressione personalizzata:

Intersect(Parent([Axis.X]), All([Axis.Color]), Parent([Axis.Rows]), ...)

Esempio di una colonna calcolata:

Sum([Sales]) OVER Intersect([Category], AllPrevious([Date]))

LastNode Seleziona l'ultimo nodo sul livello corrente.

Esempio di una espressione personalizzata:

Sum([Sales]) - Sum([Sales]) OVER (LastNode([Axis.X]))

Esempio di una colonna calcolata:

Sum([Sales]) - Sum([Sales]) OVER (LastNode([Hierarchy.TimeHierarchy]))

LastPeriods Include il nodo corrente e gli n - 1 nodi precedenti. Serve per calcolare le medie mobili.

Esempio di una espressione personalizzata:

Sum([Sales]) OVER (LastPeriods(3, [Axis.X]))/3

Esempio di una colonna calcolata:

Sum([Sales]) - Sum([Sales]) OVER (LastPeriods([Hierarchy.TimeHierarchy]))

NavigatePeriod Consente di specificare la navigazione nodi. Il metodo ha quattro argomenti:

Arg1 è la gerarchia a cui accedere.

Arg2 è un valore stringa che specifica il livello della gerarchia a cui accedere.

Arg3 è un numero intero che indica il numero di passaggi necessario per spostarsi lateralmente nella gerarchia al livello specificato nell'Arg1.

Arg4 è facoltativo e determina il livello inferiore della gerarchia a cui accedere. Questo argomento può essere omesso: in tal caso, si procede a una navigazione al livello foglia.

Esempi di espressioni personalizzate:

Sum([Sales]) OVER NavigatePeriod([Axis.X], "Year", -1)

Sum([Value]) OVER NavigatePeriod([Axis.X], "Year", 0, 0)

Sum([Sales]) OVER NavigatePeriod([Axis.X], 2, -1, 2)

Esempio di una colonna calcolata:

Avg([Sales]) OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,-10)) - Avg([Sales])OVER (NavigatePeriod([Hierarchy.TimeHierarchy],0,10))

Next Confronta il nodo corrente con il nodo successivo sullo stesso livello della gerarchia. Se non è presente un nodo successivo, ovvero, se il nodo corrente è l'ultimo nodo per il livello corrente, il subset risultante non contiene righe.

Esempi di espressioni personalizzate:

Sum([Sales]) - Sum([Sales]) OVER (Next([Axis.X]))

Count() OVER Next([Axis.X], 2)

Esempio di una colonna calcolata:

Max([Sales]) OVER (Intersect([Category],Next([Year])))

NextPeriod Utilizza il nodo successivo con il valore successivo sullo stesso livello del nodo corrente. Se non è presente un nodo successivo, ovvero, se il nodo corrente è l'ultimo nodo per il livello corrente, il subset risultante non contiene righe.

Esempi di espressioni personalizzate:

Sum([Sales]) OVER (NextPeriod([Axis.X]))

Count() OVER NextPeriod([Axis.X], 2)

Esempio di una colonna calcolata:

Max([Sales]) OVER (Intersect([Category],NextPeriod([Year])))

ParallelPeriod Utilizza il nodo parallelo precedente con lo stesso valore sullo stesso livello del nodo corrente. Questa funzione viene utilizzata, ad esempio, per confrontare i risultati delle vendite di ogni mese con i mesi corrispondenti dell'anno precedente.

Esempio di una espressione personalizzata:

Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Axis.X]))

Esempio di una colonna calcolata:

Sum([Sales])-Sum([Sales]) OVER (ParallelPeriod([Hierarchy.TimeHierarchy]))

Parent Utilizza il subset principale del nodo corrente. Se il nodo non ha un elemento principale, tutte le righe sono considerate subset.

Esempi di espressioni personalizzate:

Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.Color]))

Sum([Sales]) / Sum([Sales]) OVER (Parent([Axis.X])) * 100

Avg([Sales]) OVER Parent([Axis.X])

Esempio di una colonna calcolata:

Sum([Sales]) OVER (Parent([Hierarchy.TimeHierarchy]))

Previous Utilizza il nodo precedente sullo stesso livello del nodo corrente, per confrontare il risultato del nodo corrente con quello precedente. Se non è presente un nodo precedente, ovvero se il nodo corrente è il primo nodo per il livello corrente, il subset risultante non contiene righe.

Esempi di espressioni personalizzate:

Sum([Sales]) - Sum([Sales]) OVER (Previous([Axis.X]))

Count() OVER Previous([Axis.X], 2)

Esempio di una colonna calcolata:

Max([Sales]) OVER (Intersect([Category],Previous([Year])))

PreviousPeriod Utilizza il nodo precedente con il valore precedente sullo stesso livello del nodo corrente. Se non è presente un nodo precedente, ovvero se il nodo corrente è il primo nodo per il livello corrente, il subset risultante non contiene righe.

Esempi di espressioni personalizzate:

Sum([Sales]) OVER (PreviousPeriod([Axis.X]))

Count() OVER PreviousPeriod([Axis.X], 2)

Esempio di una colonna calcolata:

Max([Sales]) OVER (Intersect([Category],PreviousPeriod([Year])))

Vedere anche Funzioni.