Set Analysis ed espressioni set

Set Analysis fornisce un metodo per definire una serie (o un gruppo) di valori di dati diversa dalla serie standard definita dalle selezioni correnti.

In generale, quando si effettua una selezione, le funzioni di aggregazione come Sum, Max, Min, Avg e Count eseguono l'aggregazione delle selezioni effettuate, vale a dire le selezioni attuali. Le selezioni definiscono automaticamente la serie di dati da aggregare. Set Analysis consente di definire un gruppo indipendente dalle selezioni correnti. Ciò può rivelarsi utile se si desidera mostrare un valore particolare, ad esempio, la quota di mercato di un prodotto in tutte le regioni, indipendentemente dalle selezioni attuali.

Set Analysis è uno strumento efficace anche quando si eseguono diversi tipi di confronti, ad esempio tra i prodotti più venduti e i prodotti meno venduti, o tra l'anno corrente e l'anno precedente.

Si supponga di iniziare a utilizzare un documento selezionando l'anno 2010 in una casella di elenco. Le aggregazioni saranno quindi basate su tale selezione e i grafici mostreranno solo i valori relativi a tale anno. Quando si eseguono nuove selezioni, i grafici vengono aggiornati di conseguenza. Le aggregazioni vengono eseguite su una serie di record possibili, definiti dalle selezioni attuali. Con Set Analysis è possibile definire un gruppo interessante per l'utente indipendente dalle selezioni.

Creazione di espressioni set

Prima di analizzare le diverse parti di un esempio di Set Analysis, occorre fare una distinzione tra espressione set e Set Analysis:

La definizione di una serie di valori di campo viene indicata come definizione di un'espressione set, mentre l'utilizzo delle espressioni set per l'analisi dei dati viene indicato come Set Analysis. Di conseguenza, la parte rimanente di questa sezione tratterà le espressioni SET e i relativi componenti.

Ecco di seguito un esempio di Set Analysis: sum( {$<Year={2009}>} Sales ), in cui {$<Year={2009}>} è un'espressione set.

Esistono due regole di sintassi generali per un'espressione set:

  • Un'espressione set deve essere utilizzata in una funzione di aggregazione. In questo esempio, la funzione di aggregazione è sum(Sales).
  • Un'espressione set deve essere racchiusa tra parentesi graffe, {}. In questo esempio l'espressione set è: {$<Year={2009}>}.

Un'espressione set è costituita dalla combinazione delle seguenti parti:

  • Identificatori. Uno o più identificatori definiscono la relazione tra l'espressione set e l'elemento valutato nella parte rimanente dell'espressione. Un'espressione set semplice è composta da un unico identificatore, ad esempio il simbolo del dollaro, {$}, che rappresenta tutti i record nella selezione corrente.
  • Operatori. Se sono presenti più identificatori, si utilizzeranno un operatore o più operatori per restringere la serie di dati specificando in che modo le serie di dati rappresentate dagli identificatori vengono combinate per creare, ad esempio, un sottogruppo o un sovragruppo.
  • Modificatori. Per modificare la selezione, all'espressione set è possibile aggiungere uno o più modificatori. Un modificatore può essere utilizzato da solo o per modificare un identificatore per filtrare la serie di dati.

Examples:  

Example 1:  

{$<Year={2009}>}

Questa espressione set contiene un identificatore $ e il modificatore <Year={2009>}. Questo esempio non include un operatore. L'espressione set è interpretata come: “Tutti i record nella selezione corrente relativi all'anno 2009”.

Example 2:  

Sum({$<Year={2009}>+1<Country={'Sweden'}>} Sales)

Questa espressione set contiene gli identificatori $ e 1, l'operatore + e i modificatori <Year={2009}> e <Country={'Sweden'}>.

Questa espressione set è creata per sommare le vendite per l'anno 2009 associate alle selezioni correnti e aggiunge la serie completa di dati associati con il paese Sweden in tutti gli anni.

Nota: Le espressioni set possono essere utilizzate solo nelle espressioni per i grafici e non nelle espressioni di script.

Gli identificatori, gli operatori e i modificatori vengono descritti in dettaglio nelle sottosezioni seguenti.

Identificatori

Gli identificatori definiscono la relazione tra l'espressione set e i valori di campo o l'espressione in corso di valutazione.

Nell'esempio sum( {$<Year={2009}>} Sales ), l'identificatore corrisponde al simbolo del dollaro, $, e indica che la serie di record da valutare include tutti i record della selezione attuale. Questo gruppo viene in seguito ulteriormente filtrato dalla parte del modificatore dell'espressione set. In un'espressione set più complessa, i due identificatori possono essere combinati mediante un operatore.

Questa tabella mostra alcuni identificatori comuni.

Identificatore Descrizione
1 Rappresenta la serie completa di tutti i record nell'applicazione, indipendentemente dalle selezioni eseguite.
$ Rappresenta i record della selezione attuale. L'espressione set {$} equivale pertanto alla non dichiarazione di un'espressione set.
$1 Rappresenta la selezione precedente. $2 rappresenta la selezione precedente, con uno scarto di uno, e così via.
$_1 Rappresenta la selezione successiva (in avanti). $_2 rappresenta la selezione successiva, con uno scarto di uno, e così via.
BM01 È possibile utilizzare qualsiasi ID o nome del preferito.
MyAltState È possibile fare riferimento alle selezioni effettuate in uno stato alternativo in base al nome dello stato.

Questa tabella mostra alcuni esempi con identificatori diversi.

Esempio Risultato
sum ({1} Sales) Restituisce le vendite totali per il documento, ignorando le selezioni, ma non la dimensione.

sum ({$} Sales)

Restituisce le vendite per la selezione attuale, vale a dire lo stesso di sum(Sales).

sum ({$1} Sales)

Restituisce le vendite per la selezione precedente.

sum ({BM01} Sales)

Restituisce le vendite per il preferito denominato BM01.

Operatori

Gli operatori consentono di includere, escludere e intersecare parzialmente e interamente le serie di dati. Tutti gli operatori utilizzano i gruppi come operandi e restituiscono un gruppo come risultato.

Questa tabella mostra gli operatori che possono essere utilizzati nelle espressioni set.

Operatore Descrizione
+ Unione. Questa operazione binaria restituisce un gruppo composto dai record appartenenti a uno qualsiasi dei due operandi di gruppo.
- Esclusione. Questa operazione binaria restituisce un gruppo di record che appartengono solo al primo dei due gruppi di operandi. Inoltre, se utilizzata come operatore unario, restituisce il gruppo complementare.
* Intersezione. Questa operazione binaria restituisce un gruppo composto dai record appartenenti a tutti e due gli operandi di gruppo.
/ Differenza simmetrica (XOR). Questa operazione binaria restituisce un gruppo composto dai record appartenenti a uno dei due, ma non ad entrambi gli operandi di gruppo.

Questa tabella mostra alcuni esempi con operatori.

Esempi Risultati
sum( {1-$} Sales ) Restituisce le vendite per tutto ciò che è escluso dalla selezione.
sum( {$*BM01} Sales ) Restituisce le vendite per l'intersezione tra la selezione e il segnalibro BM01.
sum( {-($+BM01)} Sales )

Restituisce le vendite escluse dalla selezione e dal segnalibro BM01.

Sum({$<Year={2009}>+1<Country={'Sweden'}>} Sales) Restituisce le vendite per l'anno 2009 associate alle selezioni correnti e aggiunge la serie completa di dati associati con il paese Sweden in tutti gli anni.

Modificatori

I modificatori consentono di apportare aggiunte o modifiche a una selezione. Tali modifiche possono essere scritte nell'espressione set. Un modificatore include uno o più nomi di campo, ciascuno seguito da una o più selezioni che possono essere effettuate nel campo. I modificatori iniziano e terminano con parentesi angolari, <>.

Un modificatore set modifica la selezione dell'identificatore set precedente. Se non viene fatto riferimento ad alcun modificatore set, lo stato della selezione corrente è implicito.

Questa tabella mostra alcuni esempi con modificatori.

Esempio Risultato
sum({$<OrderDate = DeliveryDate>} Sales) Restituisce le vendite per la selezione attuale in cui OrderDate = DeliveryDate.

sum({1<Region = {US}>} Sales)

Restituisce le vendite per la regione US ignorando la selezione attuale.

sum({$<Region = >} Sales)

Restituisce le vendite per la selezione, da cui è stata però rimossa la selezione in 'Region'.

sum({<Region = >} Sales)

Restituisce lo stesso risultato dell'esempio precedente. Quando l'identificatore set da modificare viene omesso, viene utilizzato lo stato ereditato.

sum({$<Year={2000}, Region={“U*”}>} Sales) Restituisce le vendite per la selezione corrente, ma con nuove selezioni sia in Year che in Region.

Modificatori di gruppo per una descrizione più dettagliata dei modificatori e di come utilizzarli in una Set Analysis più complessa.