> Data > Requête 4 :

Requête 4 :

Data - Par iTPro.fr - Publié le 24 juin 2010
email

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.

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 gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Data - Par iTPro.fr - Publié le 24 juin 2010