Définition de jeux nommés
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 scripts MDX sont traités dans la rubrique suivante de cette leçon.
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 Calculs, Définition d'un jeu nommé.
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
Pour définir un jeu nommé Core Products
Cliquez sur l'onglet Calculs du Concepteur de cube pour le cube du didacticiel de Analysis Services, 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, changez le nom du nouveau jeu nommé en [Core Products].
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.
Remarque : |
---|
Si le volet Outils de calcul ne contient pas de métadonnées, cliquez sur Reconnexion dans la barre d'outils. Si cette opération ne donne pas de résultats, il se peut que vous deviez traiter le cube ou démarrer une instance de 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.
L'image suivante montre le volet Expressions de calcul pour le jeu nommé que vous avez créé dans cette procédure.
Définition d'un jeu nommé Large Resellers
Pour définir 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, changez le nom de ce nouveau jeu nommé en [Large Resellers].
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. Rubrique connexe :Members (Set) (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)
À présent que vous avez défini le premier jeu pour l'expression d'ensemble Exists, vous êtes prêt à ajouter le second (le jeu de membres de la dimension Reseller contenant 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 Automatic et la valeur de la propriété DiscretizationBucketCount en 5. Rubrique connexe :Regroupement de membres d'un attribut (discrétisation)
Dans le menu Générer de Business Intelligence Development Studio, cliquez sur Déployer Analysis Services Tutorial.
Une fois le déploiement achevé, ouvrez le cube du didacticiel de Analysis Services dans le Concepteur de cube, puis cliquez sur Reconnexion dans la barre d'outils de l'onglet Calculs.
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'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 Les membres de cette hiérarchie d'attribut sont groupés parce que 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, lorsque 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 le jeu nommé [Large Resellers].
Dans la barre d'outils de l'onglet Calculs, cliquez sur Mode Script et 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 jeux nommés, puis à parcourir ces mesures dans le cube du didacticiel de Analysis Services.
Exploration du cube en utilisant les nouveaux jeux nommés
Pour parcourir le cube en utilisant les nouveaux jeux nommés
Dans le menu Générer de BI Development Studio, cliquez sur Déployer Analysis Services Tutorial.
Après avoir déployé le didacticiel, cliquez sur l'onglet Navigateur, puis cliquez sur Reconnexion.
Supprimez toutes les hiérarchies et toutes les mesures du volet Données.
Ajoutez la mesure Reseller Sales-Sales Amount à la zone de données, puis ajoutez la hiérarchie définie par l'utilisateur Product Categories à la zone de lignes.
Notez qu'un seul membre de l'attribut Category apparaît. Ceci est dû au fait que vous avez utilisé cet attribut comme filtre antérieurement dans cette session. Tous les membres s'affichent si vous travaillez dans une nouvelle session.
Sélectionnez la flèche de déroulement à côté de Category dans la zone Ligne, activez (s'il y a lieu) la case à cocher à côté du niveau (Tous) pour sélectionner tous les membres de ce niveau, puis cliquez sur OK.
Développez Bikes pour afficher les membres du niveau Subcategory, comme le montre l'image suivante.
Dans le volet Métadonnées, dans la dimension Product, cliquez avec le bouton droit sur Core Products et sélectionnez Ajouter à la zone de sous-cubes.
Notez que seuls le membre Bike de l'attribut Category et les membres des sous-catégories de Bike restent dans le cube. Ceci est dû au fait que le jeu nommé Core Products est utilisé pour définir un sous-cube, dont les propriétés apparaissent dans le volet Filtre et qui se trouve au-dessus du volet Données. 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, cliquez avec le bouton droit sur Large Resellers et sélectionnez Ajouter à la zone de sous-cubes.
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.
Tâche suivante de la leçon
Définition d'attributions d'étendue à l'aide de commandes de scripts
Voir aussi
Autres ressources
Calculs
Définition d'un jeu nommé