MDX & export
Deux fonctionnalités liées pour utilisateurs avancés : l’éditeur MDX (pour écrire des requêtes à la main ou affiner la sortie du workbench) et les options d’export (pour sortir le résultat vers un autre outil ou un rapport).
L’éditeur MDX
Dans les coulisses, chaque glisser-déposer dans le workbench compile vers une requête MDX — le langage de requête pour les cubes OLAP. La plupart des analyses n’ont jamais besoin que vous regardiez le MDX ; le workbench est plus rapide pour le cas commun. Mais parfois vous le voulez :
- Débogage. Une requête du workbench retourne des chiffres inattendus et vous voulez voir exactement ce qui a été demandé.
- Copie. Un autre outil parle MDX (ou vous sauvegardez une requête dans un fichier pour le contrôle de version).
- Affinage manuel. Le workbench vous donne un point de départ ; vous raffinez.
- Choses que le workbench ne peut pas exprimer. Certaines fonctionnalités MDX
avancées (named sets, sub-cubes, clauses
WITHcomplexes) ne sont pas exposées comme affordances de drop-zone.
Ouvrir le panneau MDX
Cliquez sur Show MDX dans la barre d’outils. Un panneau glisse pour montrer la requête actuelle en MDX.
Le panneau est en lecture seule par défaut ; cliquez sur Switch to MDX pour rendre la requête éditable. À partir de là vous éditez le MDX directement — les drop zones ne pilotent plus la requête. Pour revenir au mode workbench, Switch back abandonne vos éditions MDX et reconstruit depuis les drop zones.
À quoi ressemble le MDX
Une requête MDX minimale :
SELECT { [Measures].[Revenue] } ON COLUMNS, { [Time].[Year].MEMBERS } ON ROWSFROM [Sales]Cela vous donne un tableau de revenus année par année — la même chose que glisser Revenue dans Columns et Time › Year dans Rows.
MDX plus intéressant :
WITH MEMBER [Measures].[YoY Growth] AS ([Measures].[Revenue], [Time].CURRENTMEMBER) / ([Measures].[Revenue], [Time].CURRENTMEMBER.PREVMEMBER) - 1, FORMAT_STRING = '0.0%'SELECT { [Measures].[Revenue], [Measures].[YoY Growth] } ON COLUMNS, { [Time].[Year].MEMBERS } ON ROWSFROM [Sales]Cela ajoute un pourcentage de croissance d’une année sur l’autre comme mesure calculée — le workbench pourrait produire un résultat similaire avec le dialogue des membres calculés, mais l’écrire en MDX vous donne un contrôle exact.
Patterns MDX utiles
Quelques patterns qui valent la peine d’être connus :
TOPCOUNT(set, n, expression)— top-N par une mesure. Par ex.TOPCOUNT([Customer].[Name].MEMBERS, 10, [Measures].[Revenue])vous donne les 10 clients au plus haut revenu.FILTER(set, predicate)— restreindre un set.FILTER([Region].[Name].MEMBERS, [Measures].[Revenue] > 1000000)ne garde que les régions avec revenu supérieur à un million.PARALLELPERIOD— même période l’an dernier. Plus propre que soustraire manuellement1au niveau de l’année.NON EMPTYsur un set — supprimer les lignes ou colonnes avec mesures toutes nulles, équivalent au toggle Non-Empty du workbench.
Pour une référence MDX plus poussée, la documentation MDX de Microsoft est le standard. Mondrian (le moteur derrière Saiku) implémente la plupart du MDX standard avec quelques particularités documentées dans la documentation Mondrian en amont.
Exporter les données
La barre d’outils a trois boutons d’export. Ils produisent des choses différentes pour des audiences différentes.
Exporter vers Excel (XLSX)
Ce que vous obtenez : un fichier .xlsx avec le tableau de résultats formaté comme une
feuille. La structure pivot (lignes, colonnes, totaux) est préservée.
Plusieurs mesures deviennent plusieurs colonnes. Les enfants de drillthrough
deviennent des lignes indentées dans la même feuille.
Mieux pour : remettre à quelqu’un qui continuera à analyser dans Excel, où la forme pivot est utile.
Exporter vers CSV
Ce que vous obtenez : un CSV simple avec une ligne par cellule du tableau de résultats. La ligne d’en-tête porte les noms de colonnes. Les totaux sont exclus par défaut (un CSV avec des lignes mélangées total + détail est confus pour les parsers en aval).
Mieux pour : alimenter un autre outil — un script Python, un outil BI, un data warehouse, tout ce qui veut des données tabulaires.
Exporter vers PDF
Ce que vous obtenez : un rendu PDF de la vue actuelle — le tableau de résultats OU le graphique, selon ce qui est affiché. Sortie multi-pages pour les grands tableaux ; le graphique tient sur une page.
Mieux pour : coller dans un rapport, envoyer par e-mail comme instantané, archiver une trouvaille spécifique à côté de son visuel.
Export drillthrough
Clic droit sur n’importe quelle cellule du résultat et choisissez Exporter drillthrough. Cela contourne entièrement l’agrégation du cube et exporte les lignes brutes de la table de faits sous-jacente à cette cellule. Utile quand quelqu’un remet en question un chiffre et que vous voulez lui envoyer les enregistrements sous-jacents.
Les exports de drillthrough sont uniquement CSV, intentionnellement — les lignes brutes n’ont pas de structure pivot à préserver.
Quand utiliser quel export
- CSV quand les données vont ailleurs pour un traitement ultérieur.
- Excel quand un humain va continuer à travailler avec les données dans Excel.
- PDF quand la sortie est le livrable final — un instantané pour un rapport, une pièce jointe d’e-mail, un partage en partage d’écran.
- Drillthrough quand vous avez besoin des lignes sous-jacentes derrière un chiffre agrégé spécifique.
Note sur les limites de lignes
Saiku ne limite pas artificiellement la taille d’export, mais la requête sous-jacente du warehouse doit se terminer. Un drillthrough d’un million de lignes prend du temps à s’exécuter et du temps à se télécharger. Si vous exportez régulièrement des centaines de milliers de lignes, demandez-vous si l’agrégation du cube fait ce qu’elle devrait — tout l’intérêt d’OLAP est de résumer, pas de déverser des lignes.
Où aller ensuite
- Construire une requête — l’alternative côté workbench au MDX.
- Tirer des insights de vos données — comment rendre l’export réellement utile pour le destinataire.