Un des défis liés au paramétrage des requêtes MDX consiste à créer la requête pour le paramètre. Les valeurs destinées à remplir la requête peuvent provenir d’une requête relationnelle des données dans le schéma en étoile ou vous pouvez les récupérer en employant MDX pour interroger les données Analysis Services.
Ajout de paramètres
Les données pour un paramètre sont souvent une colonne seule, autrement dit un aspect habituellement mal géré par MDX car il s’attend à récupérer plusieurs colonnes.
Néanmoins, en utilisant un membre calculé, vous pouvez faire en sorte que le cellset retourne une colonne de valeurs Null, que Reporting Services aplatit afin de l’employer avec les paramètres. (Notez que dans Reporting Services 2005, MDX peut gérer les requêtes paramétrées, d’où une différence d’approche possible avec cette version. La méthode employée avec Reporting Services 2000 fonctionne également avec Reporting Services 2005.) Dans l’onglet Data du rapport de base, vous pouvez créer un nouveau dataset.
Le listing 5 montre une requête MDX qui renvoie une liste de toutes les catégories de produits, ainsi que les valeurs des niveaux au-dessus de la catégorie Product. Vous ajoutez le paramètre en cliquant sur le menu Report et en sélectionnant Report Parameters. Dans la boîte de dialogue Report Parameters de la figure 2, vous pouvez ajouter un nouveau paramètre qui utilise le nouveau dataset. En supposant que le dataset soit nommé CategoryList, vous pouvez définir Product_Product_Category pour les deux champs Value et Label. Si cette instruction était du type MDX standard, avec des mesures sur l’axe Columns, vous pourriez lier le paramètre à la matrice en tant que filtre. Le recours à un paramètre comme filtre sur le contrôle de matrice est efficace lorsque le filtre est appliqué à un champ affiché sur les lignes ou dans les colonnes du rapport.
Cela signifie qu’il s’agit d’une dimension spécifiée sur les axes Rows ou Pages de la requête MDX. Malheureusement, cette approche ne fonctionne pas efficacement lorsque l’objectif consiste à paramétrer quelque chose qui n’apparaît pas sur le rapport. Au lieu de lier le paramètre à la matrice en tant que filtre, vous devez ajouter ce paramètre à la clause WHERE de l’instruction MDX ou remplacer par une valeur l’élément listé sur l’axe Columns de l’expression MDX. Dans le rapport Measures on Rows que vous élaborez, la requête MDX crée un membre calculé intitulé [Product].[ Prod], lequel contient une valeur codée en dur.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Travail hybride : pourquoi les salariés français restent les plus attachés au bureau en Europe
- Pourquoi la souveraineté des données relève du contrôle et non de la géographie
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
