Flag di conservazione del set vuoto
È possibile utilizzare il simbolo & (il flag di conservazione del set vuoto) all'inizio di alcune espressioni set esterne per annullare la cancellazione implicita del set di selezione durante l'analisi utente. Il flag di conservazione del set vuoto consente di modificare il modo in cui le aggregazioni vengono calcolate e rappresentate quando gli utenti effettuano le selezioni, senza richiedere la riscrittura di espressioni set lunghe e avanzate.
Ad esempio, nell'espressione set che segue, viene utilizzato il flag di conservazione del set vuoto:
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )
Sfondo
Condizioni per l'uso
Il flag di conservazione del set vuoto può essere utilizzato nelle espressioni set che hanno uno dei seguenti componenti:
-
Almeno un'espressione set interna e una esterna
-
Due o più espressioni set esterne
Utilizzare il flag di conservazione del set vuoto quando si vuole evitare Cancellazione implicita del set di selezione.
Cancellazione implicita del set di selezione
La cancellazione implicita del set di selezione è un comportamento interno che a volte si desidera evitare per l'analisi dell'utente finale, quando si utilizzano catene complesse di espressioni set. La cancellazione implicita del set di selezione può avvenire per le espressioni set che sono strutturate secondo Condizioni per l'uso.
Il comportamento indesiderato è il seguente:
-
Una o più espressioni set esterne nella catena — in particolare, la prima (o unica) e tutte le espressioni set esterne successive, tranne l'ultima — definiscono i set di dati. Ad esempio: Country*={'Sweden', 'Denmark'}>}
-
Si verifica una condizione che genera un set vuoto per uno o più di questi componenti dell'espressione set esterna. Nella maggior parte dei casi, viene effettuata una selezione che presenta conflitti nell'app.
-
Per i set vuoti, i set definiti da queste espressioni vengono cancellati quando l'espressione viene valutata. Ciò significa che i dati utilizzati nelle aggregazioni non sono più ridotti ai set definiti, ma vengono utilizzati tutti i dati.
D'altra parte, i set definiti in qualsiasi espressione set esterna che producono set non vuoti, così come l'ultima espressione set esterna nella catena, vengono rispettati durante la valutazione.
Questo comportamento determina valori di aggregazione che possono essere inaspettati e possono portare ad analisi incoerenti. Per evitare la cancellazione implicita del set di selezione, è possibile utilizzare il flag di conservazione del set vuoto. Vedere La soluzione: utilizzo del flag di conservazione del set vuoto.
La soluzione: utilizzo del flag di conservazione del set vuoto
Utilizzare il simbolo & (il flag di conservazione del set vuoto) per annullare la cancellazione implicita del set di selezione. Questo flag assicura che i set definiti in tutte le espressioni set esterne in una catena, ad eccezione dell'ultima, non vengano cancellate, ma vengano rispettate durante la valutazione dell'intera espressione.
Il flag di conservazione del set vuoto fornisce:
-
Flessibilità e consente di risparmiare tempo quando si dispone di espressioni set lunghe avanzate che si desidera mantenere intatte, anziché riscriverle.
-
La capacità di modificare la logica di aggregazione per adattarla a casi d'uso avanzati.
Sintassi
In un'espressione set esterna, il flag di conservazione del set vuoto è posizionato come un singolo carattere & all'inizio dell'espressione, cioè prima dei modificatori set, degli identificatori e degli operatori.
Esempi:
Espressione | Espressione senza flag di conservazione del set vuoto |
---|---|
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales ) | {<Country={'Sweden'}>} {<ProductCategory={'shirts'}>} Sum (Sales) |
{& <Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) | {<Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) |
Dettagli ed esempi
Per informazioni più dettagliate, vedere Catene di espressioni set esterne e interne multiple .