Analisi di gruppo ed espressioni di gruppo

L'analisi di gruppo fornisce un metodo per definire una serie (o un gruppo) di valori di dati diversa dalla serie standard definita dalle selezioni attuali.

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. L'analisi di gruppo consente di definire un gruppo indipendente dalle selezioni attuali. 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.

L'analisi di gruppo è 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'app selezionando l'anno 2010 in una casella di filtro. Le aggregazioni saranno quindi basate su tale selezione e le visualizzazioni mostreranno solo i valori relativi a tale anno. Quando si eseguono nuove selezioni, le visualizzazioni vengono aggiornate di conseguenza. Le aggregazioni vengono eseguite su una serie di record possibili, definiti dalle selezioni attuali. Con l'analisi di gruppo, è possibile definire un gruppo interessante per l'utente indipendente dalle selezioni.

Creazione di espressioni di gruppo

Prima di analizzare le diverse parti di un esempio di analisi di gruppo, occorre fare una distinzione tra espressione di gruppo e analisi di gruppo:

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

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

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

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

Un'espressione di gruppo è composta da una combinazione delle seguenti parti:

  • Identificatori. Uno o più identificatori definiscono la relazione tra l'espressione di gruppo e l'elemento valutato nella parte rimanente dell'espressione. Un'espressione di gruppo semplice è composta da un unico identificatore, come ad esempio il simbolo del dollaro, {$},che rappresenta tutti i record della selezione attuale.
  • 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 di gruppo è 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 di gruppo contiene un identificatore $ e il modificatore <Year={2009>}. Questo esempio non include un operatore. L'espressione di gruppo è interpretata come: "Tutti i record nella selezione attuale appartenenti all'anno 2009".

Example 2:  

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

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

Questa espressione di gruppo è stata progettata per sommare le vendite per l'anno 2009 associate alle selezioni correnti e aggiunge la serie di dati completa associata al paese Sweden per tutti gli anni.

Nota: Le espressioni di gruppo possono essere utilizzate solo nelle espressioni per le visualizzazioni 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 di gruppo 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 di gruppo. In un'espressione di gruppo più complessa, i due identificatori possono essere combinati mediante un operatore.

Questa tabella mostra alcuni identificatori comuni.

Identificatori
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 di gruppo {$} equivale pertanto alla non dichiarazione di un'espressione di gruppo.
$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 segnalibro.
MyAltState È possibile fare riferimento alle selezioni effettuate in uno stato alternativo utilizzando il nome del relativo stato.

Questa tabella mostra alcuni esempi con identificatori diversi.

Esempi con identificatori diversi
Esempio Risultato
sum ({1} Sales) Restituisce le vendite totali per l'app, 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 segnalibro 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 di gruppo.

Operatori
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 appartenente solo al primo dei due operandi di gruppo e non al secondo. 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 operandi di gruppo, ma non ad entrambi.

Questa tabella mostra alcuni esempi con operatori.

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 di dati completa associata al paese Sweden per tutti gli anni.

Modificatori

I modificatori consentono di apportare aggiunte o modifiche a una selezione. Tali modifiche possono essere scritte nell'espressione di gruppo. 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 di gruppo modifica la selezione dell'identificatore di gruppo precedente. Se non viene fatto riferimento ad alcun identificatore di gruppo, lo stato della selezione corrente è implicito.

Questa tabella mostra alcuni esempi con modificatori.

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 il gruppo da modificare viene omesso, viene utilizzato $.

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

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