> Tech > Solution

Solution

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La solution que nous allons créer doit masquer les ancêtres indésirables lors du rendu du rapport, sans affecter le modèle de données. Nous pouvons atteindre notre but au moyen d’une combinaison de fonctionnalités de Reporting Services et d’Analysis Services. La technique pour masquer les ancêtres du membre sélectionné par l’utilisateur

Solution

comporte les trois parties distinctes suivantes, toutes référencées à partir de la définition du rapport :

1. Création et référencement d’un ensemble de données (Dataset) qui utilise MDX pour fournir la propriété de numéro de niveau du paramètre de rapport sélectionné.
2. Création d’un bloc de code Visual Basic (VB) qui compare le niveau de membre à afficher au niveau de membre du paramètre sélectionné par l’utilisateur.
3. Application de la propriété Visibility pour les groupes de lignes afin de mettre en pratique le bloc de code VB.

Création du Dataset pour le numéro de niveau du paramètre
Nous pouvons utiliser du code MDX « brut » pour définir un nouveau Dataset dans Reporting Services. Il est possible d’entrer le code MDX en mode éditeur de requête générique, ce qui nous permet d’avoir non seulement les valeurs d’affichage (CAPTION et UNIQUENAME), mais de fournir aussi la propriété LEVEL.ORDINAL, laquelle sera ensuite référencée par le code VB. L’éditeur de requête générique est disponible dans un nouveau Dataset en cliquant sur le bouton Design Mode en haut de l’onglet Data dans la définition RDL. Ce bouton bascule le mode Dataset. Nous entrons le code MDX (il est saisi directement dans le volet de requête de données de l’onglet Data de la définition RDL), lequel fournit la propriété LEVEL.ORDINAL du paramètre sélectionné par l’utilisateur. Le Dataset, nommé DS Properties, est créé par le code MDX illustré au listing 1 et est référencé dans le projet Reporting Services complet.

Insertion du bloc de code VB comparant le niveau de membre affiché et le niveau de membre du paramètre sélectionné par l’utilisateur.
Le bloc de code VB que nous allons insérer dans la définition du rapport est une fonction qui compare le niveau de hiérarchie du paramètre sélectionné par l’utilisateur au niveau de ligne courant dans le rapport. Le niveau de ligne du rapport correspond au niveau dans la hiérarchie qui limite notre solution aux hiérarchies régulières. L’algorithme, que vous pouvez voir sur le listing 2, compare le niveau de hiérarchie du paramètre sélectionné par l’utilisateur (intLevel) au niveau de ligne (intRowLevel) et retourne « False » lorsque le niveau de paramètre est inférieur au niveau de ligne ; sinon il retourne « True ». Pour entrer le code personnalisé dans une définition de rapport, sélectionnez Report, Report Properties dans le menu au niveau de l’environnement de développement Reporting Services, à savoir dans BIDS (Business Intelligence Development Studio). Cliquez sur l’onglet Code et entrez le code VB, comme le montre la figure 3.

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010