Comment masquer et organiser les indicateurs d’un cube SSAS dans des dossiers en code MDX ?
Le but est de permettre de regrouper les indicateurs pour les utilisateurs finaux des cubes Analysis Services. En effet, parcourir un cube SSAS depuis Microsoft Excel ou Power BI pour du Reporting Ad-Hoc est très pratique. Cependant, si la liste des mesures calculées en MDX fait plusieurs dizaines ou centaines d’éléments, il faut les classer. Idéalement les classer par groupes fonctionnels. Et par sous-groupes organisés par l’axe temps.
Code MDX pour structurer les indicateurs calculés SSAS dans des dossiers
Premièrement, toutes les mesures calculées en YTD sont regroupées par domaine fonctionnel.
1. Exemple de structuration des indicateurs SSAS par domaines fonctionnels
Voici un exemple volontairement simple mais explicite pour classer les indicateurs SSAS, avec un classement dans des dossiers pour les ventes et les stocks:
- Ventes
- Ventes YTD (Year-To-Date)
- Ventes QTD (Quarter-To-Date)
- Ventes MTD (Month-To-Date)
- Ventes LY (Last Year)
- Ventes LM (Last Month)
- Stock
- Stock YTD (Year-To-Date)
- Stock QTD (Quarter-To-Date)
- Stock MTD (Month-To-Date)
- Stock LY (Last Year)
- Stock LM (Last Month)
En effet les données financières sont souvent associées à l’année passée, au trimestre passé et au mois passé. Et aux périodes en cours, comme le mois courant, le trimestre courant ou l’année courante.
2. Propriétés MDX pour gérer le format, la visibilité et les dossiers des indicateurs Analysis Services
D’autre part, il est préférable de classer les mesures de manière fonctionnelle plutôt que dans des dossiers techniques. Pour une plus grande ergonomie dans le Reporting depuis les cubes, utiliser les propriétés suivantes :
- MDX DISPLAY_FOLDER
- VISIBLE
- FORMAT_STRING
3. Exemple de code MDX pour gérer les indicateurs calculés
Troisièmement, cet exemple de code MDX crée un indicateur calculé basé sur un groupe de mesures dans notre fichier avec l’extension .cube. Ce groupe de mesures contient habituellement un ou plusieurs champs issus d’une table précédemment créée dans la Vue de données nommées Vue_Exemple.dsv :
CREATE MEMBER CURRENTCUBE.[Measures].[Domaine - Ventes] AS [Measures].[Montant - Groupe], FORMAT_STRING = "#,##0.00 €;-#,##0.00 €", VISIBLE = 1 , DISPLAY_FOLDER = 'Ventes';
Explication du code MDX pour présenter les mesures calculées dans un dossier
Finalement, cet exemple de script MDX permet de facilement masquer et organiser les indicateurs SSAS en dossiers. Explication du code :
- Commencer par créer l’indicateur dans le cube et indiquer le groupe de mesures sur lequel est basé l’indicateur SSAS avec la commande MDX CREATE MEMBER <…> AS.
- Indiquer ensuite le format des données qui sera séparé par une virgule tous les 3 chiffres. Ou avec 2 chiffres après la virgule et en monnaie euros (signe €) en utilisant la propriété FORMAT_STRING.
- Régler la propriété MDX VISIBLE à 1 pour afficher l’indicateur aux utilisateurs. A vérifier depuis l’explorateur et la connexion SSAS depuis Excel ou Power BI par exemple.
- Indiquer quel dossier contiendra l’indicateur calculé avec la propriété DISPLAY_FOLDER. Dans notre exemple de cube, l’indicateur sera visible dans le dossier « Ventes ».
Enfin, ces quelques astuces expliquent comment mieux organiser et présenter les indicateurs dans les cubes OLAP.
Soyez le premier à commenter