Indicateur de préservation d'ensemble vide
Vous pouvez utiliser le symbole & (indicateur de préservation d'ensemble vide) au début de certaines expressions d'ensemble externes pour écraser l'effacement d'ensemble de sélections implicite lors de l'analyse par l'utilisateur. L'indicateur de préservation d'ensemble vide vous permet de modifier la manière dont les agrégations sont calculées et représentées lorsque les utilisateurs effectuent des sélections, sans qu'il soit nécessaire de réécrire des expressions d'ensemble longues et avancées.
Par exemple, dans l'expression d'ensemble suivante, l'indicateur de préservation d'ensemble vide est utilisé :
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )Arrière-plan
Conditions d'utilisation
L'indicateur de préservation d'ensemble vide peut être utilisé dans les expressions d'ensemble qui comportent l'un ou l'autre des composants suivants :
-
Au moins une expression d'ensemble interne et une expression d'ensemble externe
-
Deux ou davantage d'expressions d'ensemble externes
Utilisez l'indicateur de préservation d'ensemble vide lorsque vous souhaitez éviter Effacement d'ensemble de sélections implicite.
Effacement d'ensemble de sélections implicite
L'effacement d'ensemble de sélections implicite est un comportement interne qui peut parfois être indésirable pour l'analyse par l'utilisateur final lorsque des chaînes complexes d'expressions d'ensemble sont utilisées. L'effacement d'ensemble de sélections implicite peut se produire pour les expressions d'ensemble qui sont structurées conformément aux Conditions d'utilisation.
Le comportement indésirable est le suivant :
-
Une ou plusieurs expressions d'ensemble externes de la chaîne, en particulier, la première (ou la seule) et toutes les expressions d'ensemble externes suivantes, à l'exception de la dernière, définissent des jeux de données. Par exemple : Country*={'Sweden', 'Denmark'}>}
-
Il se produit un phénomène qui génère un ensemble vide pour un ou plusieurs de ces composants d'expression d'ensemble externe. Le plus souvent, une sélection contradictoire est effectuée dans l'application.
-
Pour les ensembles vides, les ensembles définis par ces expressions sont effacés à mesure de l'évaluation de l'expression. Cela signifie que les données utilisées dans les agrégations ne sont plus réduites aux ensembles définis, mais que toutes les données sont utilisées.
En revanche, les ensembles définis dans toute expression d'ensemble externe produisant des ensembles non vides, ainsi que la dernière expression d'ensemble externe de la chaîne, sont respectés lors de l'évaluation.
Ce comportement se traduit par des valeurs d'agrégation qui peuvent être inattendues et conduire à des analyses incohérentes. Pour contourner l'effacement d'ensemble de sélections implicite, vous pouvez utiliser l'indicateur de préservation d'ensemble vide. Consultez La solution : utiliser l'indicateur de préservation d'ensemble vide.
La solution : utiliser l'indicateur de préservation d'ensemble vide
Utilisez le symbole & (l'indicateur de préservation d'ensemble vide) pour écraser l'effacement d'ensemble de sélections implicite. Cet indicateur garantit que les ensembles définis dans la totalité des expressions d'ensemble externes d'une chaîne, à l'exception du dernier élément, ne seront pas effacés et qu'ils seront au contraire respectés tout au long de l'évaluation de l'expression toute entière.
L'indicateur de préservation d'ensemble vide offre :
-
Flexibilité et gain de temps lorsque vous avez des expressions d'ensemble longues et avancées que vous souhaitez conserver intactes plutôt que de les réécrire.
-
Capacité de modifier la logique d'agrégation en fonction de cas d'utilisation avancés.
Syntaxe
Dans une expression d'ensemble externe, l'indicateur de préservation d'ensemble vide est placé sous la forme d'un seul caractère & au début de l'expression, c'est-à-dire avant les modificateurs d'ensemble, les identificateurs et les opérateurs.
| Expression | Expression sans indicateur de préservation d'ensemble vide |
|---|---|
| {&<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) |
Détails et exemples
Pour des informations plus approfondies, consultez Chaînes de plusieurs expressions d'ensemble externes et internes.