Leçon 6-2 - Définition d’ensembles nommés
S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Un jeu nommé est une expression MDX (Multidimensional Expressions) qui retourne un ensemble de membres de dimension. Vous pouvez définir des jeux nommés et les enregistrer en tant que partie de la définition du cube ; vous pouvez aussi créer des jeux nommés dans des applications clientes. Vous créez des jeux nommés en combinant des données de cube, des opérateurs arithmétiques, des nombres et des fonctions. Les jeux nommés peuvent être employés par les utilisateurs dans des requêtes MDX dans des applications clientes. Ils peuvent aussi être utilisés pour définir des jeux dans des sous-cubes. Un sous-cube est une collection de jeux joints entre eux qui limite l'espace du cube au sous-espace défini pour les instructions suivantes. Définir un espace de cube limité est un des concepts fondamentaux des scripts MDX.
Les jeux nommés simplifient les requêtes MDX et fournissent d'utiles alias pour les expressions d'ensemble complexes utilisées généralement. Par exemple, vous pouvez définir un jeu nommé appelé Large Resellers qui contient les membres de la dimension Reseller qui ont le plus d'employés. Les utilisateurs finaux pourront ensuite utiliser le jeu nommé Large Resellers dans des requêtes, ou s'en servir pour définir un ensemble dans un sous-cube. Les définitions de jeu nommé sont stockées dans les cubes, mais leurs valeurs existent uniquement en mémoire. Pour créer un jeu nommé, utilisez la commande Nouveau jeu nommé , disponible sous l'onglet Calculs du Concepteur de cube. Pour plus d’informations, consultez Calculset Créer des jeux nommés.
Dans les tâches de cette rubrique, vous allez définir deux jeux nommés : un jeu nommé Core Products et un jeu nommé Large Resellers.
Définition d'un jeu nommé Core Products
Basculez vers l’onglet Calculs du cube Designer pour le cube SQL Server Analysis Services tutoriel, puis cliquez sur Mode Formulaire dans la barre d’outils.
Cliquez sur [Total Sales Ratio to All Products] dans le volet Organisateur de script , puis cliquez sur Nouveau jeu nommé dans la barre d’outils de l’onglet Calculs .
Lorsque vous définissez un nouveau calcul sous l'onglet Calculs , n'oubliez pas que les calculs sont résolus dans l'ordre où ils apparaissent dans le volet Organisateur de script . La partie de ce volet qui est active lorsque vous créez un nouveau calcul détermine l'ordre d'exécution du calcul ; un nouveau calcul est défini immédiatement après le calcul actif.
Dans la zone Nom , remplacez le nom du nouveau nommé défini par [Produits principaux].
Dans le volet Organisateur de script , remarquez l'icône unique qui différencie un jeu nommé d'une commande de script ou d'un membre calculé.
Sous l'onglet Métadonnées du volet Outils de calcul , développez Product, développez Category, développez Members, puis développez All Products.
Notes
Si le volet Outils de calcul ne contient pas de métadonnées, cliquez sur Reconnexion dans la barre d'outils. Si cela ne fonctionne pas, vous devrez peut-être traiter le cube ou démarrer le instance de SQL Server Analysis Services.
Faites glisser Bikes jusqu'à la zone Expression .
Vous venez de créer une expression d'ensemble qui retournera le jeu de membres qui sont dans la catégorie Bike de la dimension Product.
Définition d'un jeu nommé Large Resellers
Cliquez avec le bouton droit sur [Core Products] dans le volet Organisateur de script , puis cliquez sur Nouveau jeu nommé.
Dans la zone Nom , remplacez le nom de ce jeu nommé par [Grands revendeurs].
Dans la zone Expression , tapez Exists().
Vous allez utiliser la fonction Exists pour retourner le jeu de membres de la hiérarchie d’attribut Reseller Name qui a une intersection avec le jeu de membres de la hiérarchie d’attribut Number of Employees ayant le plus grand nombre d’employés.
Sous l'onglet Métadonnées du volet Outils de calcul , développez la dimension Reseller , puis développez la hiérarchie d'attribut Reseller Name .
Faites glisser le niveau Reseller Name et placez-le entre les parenthèses de l’expression d’ensemble Exists.
Vous allez utiliser la fonction Members pour retourner tous les membres de ce jeu. Pour plus d’informations, consultez Membres (Ensemble) (MDX).
Après l’expression d’ensemble incomplète, tapez un point, puis ajoutez la fonction Members. Votre expression doit présenter l'aspect suivant :
Exists([Reseller].[Reseller Name].[Reseller Name].Members)
Maintenant que vous avez défini le premier jeu pour l’expression Exists set, vous êtes prêt à ajouter le deuxième ensemble de membres de la dimension Reseller qui contient le plus grand nombre d’employés.
Sous l'onglet Métadonnées du volet Outils de calcul , développez Number of Employees dans la dimension Reseller, développez Members, puis développez All Resellers.
Observez que les membres de cette hiérarchie d'attribut ne sont pas groupés.
Ouvrez le Concepteur de dimensions pour la dimension Reseller , puis cliquez sur Number of Employees dans le volet Attributs .
Dans la fenêtre Propriétés, changez la valeur de la propriété DiscretizationMethod en Automaticet la valeur de la propriété DiscretizationBucketCount en 5. Pour plus d’informations, consultez Membres de l’attribut de groupe (discrétisation).
Dans le menu Générer de SQL Server Data Tools, cliquez sur Déployer le didacticiel Analysis Services.
Une fois le déploiement terminé, basculez vers cube Designer pour le cube tutoriel SQL Server Analysis Services, puis cliquez sur Reconnecter dans la barre d’outils de l’onglet Calculs.
Sous l’onglet Métadonnées du volet Outils de calcul , développez Nombre d’employés dans la dimension Revendeur , Membres, puis Tous les revendeurs.
Observez que les membres de cette hiérarchie d'attributs sont maintenant contenus dans cinq groupes, numérotés de 0 à 4. Pour afficher le numéro d'un groupe, arrêtez le pointeur sur le groupe qui vous intéresse pour faire apparaître une info-bulle. Pour la plage
2 -17
, l'info-bulle doit contenir[Reseller].[Number of Employees].&[0]
.Les membres de cette hiérarchie d’attribut sont groupés, car la propriété DiscretizationBucketCount a la valeur 5 et la propriété DiscretizationMethod la valeur Automatic.
Dans la zone Expression , ajoutez une virgule à l’expression d’ensemble Exists après la fonction Members et avant la parenthèse fermante, puis faites glisser 83 - 100 depuis le volet Métadonnées jusqu’à la position suivant immédiatement cette virgule.
Vous avez maintenant terminé l’expression d’ensemble Exists qui, quand le jeu nommé Large Resellers sera placé sur un axe, retournera le jeu de membres ayant une intersection avec les deux jeux spécifiés, à savoir le jeu de tous les revendeurs et le jeu de revendeurs qui ont de 83 à 100 employés.
L’image suivante montre le volet Expressions de calcul pour l’ensemble nommé [Grands revendeurs].
Dans la barre d'outils de l'onglet Calculs , cliquez sur Mode Scriptet examinez les deux jeux nommés que vous venez d'ajouter au script de calcul.
Ajoutez une nouvelle ligne au script de calcul immédiatement avant la première commande CREATE SET, puis ajoutez le texte suivant au script sur sa propre ligne :
/* named sets */
Vous avez ainsi défini deux jeux nommés, qui sont visibles dans le volet Organisateur de script . Vous êtes maintenant prêt à déployer ces ensembles nommés, puis à parcourir ces mesures dans le cube tutoriel SQL Server Analysis Services.
Exploration du cube en utilisant les nouveaux jeux nommés
Dans le menu Générer de SQL Server Data Tools, cliquez sur Déployer le didacticiel Analysis Services.
Après avoir déployé le didacticiel, cliquez sur l'onglet Navigateur , puis cliquez sur Reconnexion.
Effacez la grille dans le volet des données.
Ajoutez la mesure Reseller Sales-Sales Amount à la zone de données.
Développez la dimension Product, puis ajoutez Category et Subcategory dans la zone de lignes, comme le montre l'image suivante.
Dans le volet Métadonnées , dans la dimension Product , faites glisser Core Products vers la zone de filtre.
Notez que seuls le membre Bike de l'attribut Category et les membres des sous-catégories de Bike restent dans le cube. Cela est dû au fait que le jeu nommé Core Products est utilisé pour définir un sous-cube. Ce sous-cube limite les membres de l'attribut Category dans la dimension Product à l'intérieur du sous-cube à ceux qui sont membres du jeu nommé Core Product , comme le montre l'image suivante.
Dans le volet Métadonnées , développez Reseller, ajoutez Large Resellers à la zone de filtre.
Notez que la mesure Reseller Sales Amount dans le volet Données n'affiche les montants des ventes que pour les grands revendeurs de vélos. Observez également que le volet Filtre affiche maintenant les deux jeux nommés utilisés pour définir ce sous-cube particulier, comme le montre l'image suivante.
Leçon suivante
Leçon 7 : Définition d’indicateurs de performance clés