MDX pour les nuls développeurs

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Les technologies décisionnelles et le portail
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Ispirer Systems Présentation de la Société Copyright (c) Ispirer Systems Ltd. Tous Droits Réservés.
La fracture numérique aujourd’hui
Informatique appliquée à la gestion Bases de données www. labri
Objectif de la séance 2 : valeurs et vision
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
Bases de Données XML Natives
Alimenter son site web avec SITRA – les grandes options techniques
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
VI. Analyse des solutions techniques
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
SSIS Design Patterns David Joubert Thomas Ricquebourg.
Seigneur, exauce mon voeu ! Texte auteur inconnu.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
PAROISSE RELAIS SERVICE. DIACONIA 2013 Dans le cadre de lannée du service (Diaconia 2013), dans lÉglise de France, redécouvrons cette dimension essentielle.
Contrôles d'accès aux données
Gérer linformation en tant quactif : Méthodologie pour une tenue de documents efficace.
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Access : Analyse croisée. Nous sommes dans lannée académique Vous êtes en 2 e sciences économiques et vous avez des amis en préscolaire, primaire.
Un souhait bien spécial.
Palais des congrès Paris 7, 8 et 9 février Mercredi 8 février juste avant daller manger Michel Rousseau – Consultant - Bewise Blend 4 pour les designers.
Meta-programmation Matthieu MEZIL - Infinite Square
Analyse et Conception orientée objet
Chap 4 Les bases de données et le modèle relationnel
ENTREPRENDRE QUAND MEME
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
L’utilisation des bases de données
VI. Analyse des solutions techniques
Mise en œuvre du langage MDX
Staf 2x Cours de bases de données
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Cours N°2 Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
"Tu as entendu ? Notre chef est mort !."
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
Palais des congrès Paris 7, 8 et 9 février février 2012 Jean-Pierre Riehl MVP SQL Server AZEO Reporting Services 2012 Geoffrey Lalanne Tech-lead.
Introduction Les niveaux de RAID offrent un large choix d’alternatives qui permettent de choisir un rapport performance/sécurité différent. Il est aussi.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
#JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS.
Perles au travail Présenté par le site Mespps.com
Optimisation de requêtes
Les femmes ont toujours le dernier mots
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
AVEC UN PARTENAIRE, PARTICIPEZ À CETTE CONVERSATION. P 1 – POSE LA QUESTION P 2 – RÉPOND SUIVANT LES INDICATIONS (20 SECONDES) FRANÇAIS AP.
Sélection de colonnes (la projection)
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
LE DATA WAREHOUSE.
Un riche industriel s'adresse à un ami ministre en ces termes :
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
„Tu as entendu ? Notre chef est mort !."
Intégration des Tableaux Multidimensionnels en Pig pour
Quand c’est Mamie … Qui devient ta maman …
Les meilleurs perles au travail !.
Les bases de données Séance 8 Jointures.
la grand mère et la licorne
Nos parents envisagent la construction d'une maison
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Cours 11 Entrepôts de données
Les « Pistes » : Témoignages des élèves du collège Louis-Philippe
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
1 Interne Orange Accédez à votre système d'information depuis votre terminal mobile Nomalys.
Transcription de la présentation:

MDX pour les nuls développeurs Michel Perfetti - Cellenza MVP Visual Studio ALM François JEHL - Criteo MVP SQL Server

Merci à nos sponsors

Nos sociétés Leader mondial du display à la performance avec 800 employés dans plus de 40 pays Une R&D de plusieurs centaines d’ingénieurs en plein Paris Qui innovent chaque jour pour traiter des centaines de milliers de requêtes par secondes et stocker des PB de données Le tout avec C#, Hadoop, SQL Server, Vertica, MongoDb… Envie de nous rejoindre? http://www.criteolabs.com/ Cabinet de conseil exclusivement dédié aux technologies Microsoft et aux méthodes agiles . Cellenza accompagne ses clients dans l’adoption des meilleures pratiques, techniques et méthodologiques. Envie de nous rejoindre? http://www.cellenza.com/

Mythes et réalités sur le MDX * Nous avons décidé de nous représenter modestement sous la forme d’A. Einstein Mythe n°1 C’est compliqué ! Car comme chacun sait le SQL c’est simple! Non c’est juste un peu différent.

Mythes et réalités sur le MDX Mythe n°1 Tu as bien appris le procédural, le fonctionnel, l’objet, le relationnel, alors pourquoi le multidim te ferait peur?

Mythes et réalités sur le MDX Salut! C’est moi qui te paie ! Mythe n°2 OK… Mais ça ne me sert à rien! Ce langage est pensé pour répondre à ses demandes, à lui, là bas, ton client.

Mythes et réalités sur le MDX Mythe n°2 Utiliser un formalisme qui parle le langage de ton client est plus productif que tordre le SQL pour le même résultat

Mythes et réalités sur le MDX Mythe n°3 C’est difficile à intégrer! Euh non. Ca s’interroge en .NET, en Java et ça supporte de nombreux scénarios de sécurité.

Agenda MDX vs SQL : le match Pourquoi pas du MDX dans mon application? Rookie Level Normal Level Expert Level Pourquoi pas du MDX dans mon application?

MDX vs SQL - Rookie Level Un cube possède un méta-modèle Qui explicite les clés de jointures Qui spécifie quelles colonnes sont des mesures (indicateurs numériques) ou des attributs (axes d’analyse) Qui gère traductions et conversion de devises L’écriture de requêtes est en réalité souvent bien plus facile et moins verbeuse

Démo - Rookie Level J’aurais besoin des chiffres de ventes mensuels par catégorie de produit et année. Pouvez vous me les donner en euros?

Démo - Rookie Level On en retient que : L’écriture d’une requête est itérative Les jointures sont implicites, de même que les agrégats et les GROUP BY La conversion de devises et la traduction est native

MDX vs SQL - Rookie Level Les « colonnes » sont des membres, des coordonnées On ne filtre pas sur une égalité / inégalité de plusieurs colonnes On définit le sous-cube qui répond à la requête On passe d’un requêtage algébrique à un requêtage géométrique

Démo - Rookie Level Il me faudrait ces statistiques uniquement pour cette année et pour les vélos, en France et au Royaume Uni.

Démo - Rookie Level On en retient que : Le filtrage des requêtes peut se faire dans la clause WHERE (ou slicer) On peut changer tout le contexte de la requête pour un sous-cube de manière transparente Pour aller plus loin : bit.ly/IpTT3q

MDX vs SQL – Medium Level Un résultat tabulaire en SQL est conforme au stockage, c’est une table Alors qu’un résultat tabulaire en MDX est une projection en deux dimensions d’un espace à n dimensions

MDX vs SQL – Medium Level Une colonne calculée n’a donc pas de sens On crée soit un membre calculé, soit une mesure calculée, qui a bien sur une règle d’agrégation si nécessaire

MDX vs SQL - Medium Level En 2006 j’ai quelques fournisseurs qui ont abusé des remises. Pourriez vous voir s’ils ont continué en 2007? Je voudrais voir remises 2007 ventilées par le Top 10 2006, uniquement pour les vélos.

MDX vs SQL - Medium Level On en retient que : Les mesures calculées permettent de définir de nouveaux indicateurs Les membres calculés permettent de définir de nouvelles valeurs de dimensions Ces deux derniers peuvent être construits sur un set mais il faut ensuite les agréger. Les jeux nommés définissent des ensembles de membres

MDX vs SQL – Medium Level Les hiérarchies sont natives au cube Cela signifie que la notion de parent est importante, un parent est l’agrégation de ses enfants Tout dépend ensuite de comment la mesure agrège. Similaire au GROUP BY ROLLUP de SQL mais en natif Il est facile de calculer des ratios, des contributions

MDX vs SQL - Medium Level Je voudrais voir la contribution au total du CA et au CA du parent de toutes les catégories et sous catégories.

MDX vs SQL - Medium Level On en retient que : Tout est hiérarchique dans un cube On navigue dans les hiérarchies à l’aide de fonctions généalogiques (Descendants, Ancestors…) On calcule très facilement des contributions si une hiérarchie a été prévue

MDX vs SQL – Expert Level Le temps est une notion importante Une dimension temps est typée comme telle Le langage comprend des opérateurs de déplacement dans le temps Calculer des totaux glissants ou des cumuls à date avec du MDX est une partie de plaisir.

MDX vs SQL – Expert Level J’ai une présentation avec le CFO! J’aurais besoin de l’évolution du gross et gross YTD en YoY et MoM pour l’année fiscale!

MDX vs SQL - Expert Level On en retient que : La fonction ParallelPeriod permet de récupérer une date par rapport à l’actuelle (~ DateAdd) La fonction PeriodsToDate permet de récupérer un ensemble de périodes Beaucoup d’autres fonctions natives existent pour faciliter la vie (Ytd, Mtd, Wtd)

MDX vs SQL pour le reporting : le bilan

Agenda MDX vs SQL : le match Pourquoi pas du MDX dans mon application? Rookie Level Normal Level Expert Level Pourquoi pas du MDX dans mon application?

Pourquoi pas du MDX dans vos applications C’est possible et c’est natif dans .Net Depuis au moins SQL Server 2005

ADOMD.NET

Conclusion Un langage adapté au client c’est mieux Surtout dans le domaine du reporting Les modèles sont complexes mais pas le langage Les cubes sont accessibles à tous