# 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 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 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.

Le espressioni SET possono essere interne o esterne alle funzioni di aggregazione, e sono racchiuse da parentesi curve.

Esempio: Espressione SET interna

```
Sum( {$<Year={2021}>} Sales )
```

Esempio: Espressione SET esterna

```
{<Year={2021}>} Sum(Sales) / Count(distinct Customer)
```

Per maggiori informazioni sulle espressioni SET interne ed esterne, vedere [Espressioni SET interne ed esterne](https://help.qlik.com/it-IT/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-expressions-inner-and-outer.htm).

Un'espressione di gruppo è costituita dalla 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.

* Flag di conservazione del set vuoto. Un elemento avanzato che può essere utilizzato in qualsiasi espressione set esterna, ad eccezione dell'ultimo elemento di una catena di espressioni set esterne. Questo flag annulla la cancellazione implicita del set per tutti i set definiti in queste espressioni set esterne, semplificando la configurazione delle espressioni avanzate.

  Sintassi: `&`

  Vedere: [Flag di conservazione del set vuoto](https://help.qlik.com/it-IT/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/empty-set-preserve-flag.htm)

Nota informaticaLe 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 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 set più complessa, i due identificatori possono essere combinati mediante un operatore.

L'identificatore set $ equivale a non indicare un identificatore set. Ad esempio, con l'esempio precedente, l'espressione `Sum( {$<Year = {2009}>} Sales )` è equivalente a `Sum( {<Year = {2009}>} Sales )`.

Questa tabella mostra alcuni identificatori comuni.

Identificatori comuni

| Identificatore | Descrizione |
| --- | --- |
| `1` | Rappresenta la serie completa di tutti i record nell'applicazione, indipendentemente dalle selezioni eseguite. |
| `$` (oppure nessun identificatore set) | 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 ancora precedente, e così via. |
| $\_1 | Rappresenta la prossima selezione (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. |

Esempi e risultati

| 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 di gruppo.

Operatori 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. |

Esempi e risultati

| Esempio | Risultato |
| --- | --- |
| `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.<br><br>Questa espressione utilizza il seguente identificatore di set: `$`. Pertanto, è equivalente a questa espressione, che non dichiara un identificatore di set: `Sum({<Year={2009}>+1<Country={'Sweden'}>} Sales)`. |

### 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, &lt;&gt;.

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

Esempi e risultati:

| MyField | Risultato |
| --- | --- |
| `sum({$<OrderDate = DeliveryDate>} Sales)` | Restituisce le vendite per la selezione attuale in cui OrderDate = DeliveryDate.<br><br>Questa espressione utilizza il seguente identificatore di set: `$`. Pertanto, è equivalente a questa espressione, che non specifica un identificatore di set: `sum({<OrderDate = DeliveryDate>} Sales)`. |
| `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'.<br><br>Questa espressione utilizza il seguente identificatore di set: `$`. Pertanto, è equivalente a questa espressione, che non specifica un identificatore di set: `sum({<Region = >} Sales)`. |
| `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.<br><br>Questa espressione utilizza il seguente identificatore di set: `$`. Pertanto, è equivalente a questa espressione, che non specifica un identificatore di set: `sum({<Year={2000}, Region={"U*"}>} Sales)`. |

Vedere [Modificatori di gruppo](https://help.qlik.com/it-IT/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-modifiers.htm) per una descrizione più dettagliata dei modificatori e di come utilizzarli in una Set Analysis più complessa.