par Lionel Billon - Mis en ligne le 16/03/2005 - Publié en Avril 2004
Les cubes OLAP (Online Analytical Processing) permettent d'améliorer
grandement les performances des requêtes grâce au stockage des agrégations.
Leur structure multi-dimensionnelle et hiérarchique permettent également de
proposer des interfaces plus intuitives - de type tableaux croisés dynamiques -
pour les utilisateurs fonctionnels ...Si l'utilisation interactive des cubes apporte une véritable valeur ajoutée au système
d'information, il n'en demeure pas moins qu'ils peuvent être également des
alliés de choix comme source de données de l'ensemble du reporting opérationnel
d'entreprise.
Cet article est composé de deux parties : la première partie revient rapidement sur les concepts de système décisionnel et de cube OLAP. Une fois les concepts
définis, il est alors plus facile d'illustrer le rôle que peuvent jouer les cubes et le
langage MDX (Multi-Dimensionnal eXpression) dans le reporting d'entreprise.
Requête 4 :
Enfin et pour conclure, une dernière requête qui permet
d’illustrer toute la puissance du MDX. L’objectif est d’afficher
pour l’année 1998 les coûts associés aux 2 familles de produits
ayant eu le plus fort chiffre d’affaire en 1997.
Une telle requête en SQL nécessiterait un certain
nombre d’opérations pour obtenir le même résultat (tables temporaires, sous requêtes …). Le MDX quant à lui colle
tellement aux problématique métier, que l’écriture de la
requête découle naturellement de l’énoncé de la question
posée.
SELECT {MEASURES.[Store Cost]} ON COLUMNS, {TOPCOUNT([Product].[Product Family].members, 2, ([Measures].[Store Sales], Time.[1997])} ON ROWS FROM SALES WHERE ([Time].[1998])
PS: il n’y a pas de données pour 1998 dans le cube
Vous noterez dans cette requête qu’au lieu d’ énumérer
chacune des différentes familles de produits nous avons utilisé
la fonction .members. (qui permet ici de retourner tous
les membres du niveau Famille de produit) Ainsi si une
nouvelle famille de produit voyait le jour, la requête n’aurait
pas à être modifiée.
La fonction TOPCOUNT renvoie les n premiers éléments
d’un Set en fonction d’une valeur numérique définie par un
tuple ((Measures.[Store Cost], Time.[1997]) dans le cas présent).
Concrètement nous avons effectué une sous requête. La
première requête va récupérer les 2 familles de produits
ayant générées le plus de chiffre d’affaire en 1997
((Measures.[Store Sales], Time.[1997])) et affiche pour 1998
le coût associé. Tout ceci en quelques lignes grâce à l’incroyable
souplesse des tuples !!!
Téléchargez cette ressource

Assurer la sécurité des documents avec des solutions logicielles Cloud
Avec l'essor des nouvelles technologies telles que l'intelligence artificielle (IA) et l'internet des objets (IoT), les possibilités de transformer notre façon de travailler et d'interagir sont devenues infinies. Découvrez maintenant comment assurer la sécurité des documents avec des solutions logicielles Cloud.