Dans des grandes entreprises gérant des ensembles de données complexes, l'analyse multidimensionnelle est souvent incontournable. L’outil qui s’impose alors est MDX… MDX est l’abréviation "MultiDimensional eXpressions", ou expressions multidimensionnelles. Il s’agit d’un langage de requête intervenant sur une structure de données complexes appelées les cubes OLAP. Explications...
Quelques concepts à bien connaître
Pour bien comprendre ce qu’est MDX, il importe de bien assimiler quelques concepts inhérents aux systèmes de gestion de base de données.
Multidimensional data / données multidimensionnelles
Les données multidimensionnelles sont des données organisées de façon à être analysables selon plusieurs critères simultanés.
Avec SQL Server, les informations sont présentes dans des tables. En combinant plusieurs tables, il devient possible d’obtenir une représentation des données multidimensionnelle.
« Multidimensional data » signifie donc que les données venant de plusieurs tables sont organisées afin d’être analysables selon une variété de critères.
La combinaison des données venant des diverses tables forme ce que l’on appelle un « cube« .
OLAP (online analytical processing)
OLAP est une technique d’analyse de données conçue pour des requêtes d’analyses multidimensionnelles exécutables en temps réel. Il facilite l’exploration de données sous différents points de vue et niveaux de détail. Par exemple, avec OLAP, il est aisé de faire apparaître des ventes par ville, puis de les décomposer par mois, et enfin par produit.
Cubes OLAP
Un cube OLAP est une représentation des données construit à partir de plusieurs tables. La structure globale est assimilée à un cube dans lequel chaque arête représente une « dimension » des données. Un cube OLAP organise ainsi les informations de sources diverses afin qu’il soit possible d’explorer plusieurs dimensions en même temps. Par exemple, un cube synthétisant plusieurs tables, pourrait aider à analyser les données par type de produit, par mois, par lieu.
Un langage pour analyser les cubes OLAP
Le langage de requête (query language) MDX sert à interroger un cube OLAP, et donc à analyser les données multidimensionnelles d’une telle structure.
Pour certaines opérations de base, la syntaxe de MDX est proche de SQL. Les deux langages sont toutefois différents à bien des égards. Outre le fait que MDX intervient sur des données multidimensionnelles, il est à noter qu’une requête MDX, à la différence de SQL, ne modifie pas les données. Ce langage opère uniquement en lecture. Il est spécifiquement conçu pour l’analyse et la prise de décision sur de vastes volumes d’information.
Par ailleurs, MDX facilite l’interopérabilité en permettant d’écrire des requêtes complexes qui vont intervenir sur différents systèmes de gestion de bases de données.
Quelques exemples d’usage de MDX
Voici quelques exemples de ce que pourrait accomplir MDX sur un cube OLAP.
- Analyser les taux de conversion durant les diverses étapes d’un tunnel de vente
- Analyser les motifs de pertes de clients en fonction de leur durée de vie et de leur comportement d’achat
- Trouver le mois et la ville avec les ventes les plus faibles
- Effectuer l’analyse des coûts d’acquisition de client par canal marketing
- Etc.
Un outil pour le data scientist ?
Bien que MDX soit un langage de requête puissant pour l’analyse multidimensionnelle, on ne saurait dire qu’il soit un outil essentiel pour le data scientist. Toutefois, ses capacités uniques d’analyse seront extrêmement profitables dans les environnements gérant des cubes OLAP. A ce titre, il peut représenter un atout pour un data scientist qui postulerait pour une fonction dans une entreprise d’envergure.