Funzioni OVER
Le funzioni OVER servono per determinare come suddividere i dati, ad esempio, rispetto a periodi di tempo.
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]))) |