DAX Patterns – Encore une preuve du talent de Russo et Ferrari !

Après la SQLBI Methodology, la Many-to-Many Revolution, l’Expert Cube Development with SSAS, ou encore le Data Models with Power Pivot 2013, le duo italien de génie revient nous donner une leçon technique, mais aussi de pédagogie et communication.

En effet Marco vient d’annoncer le lancement de DAX Patterns, un site qui recensera une série de cas d’usage décisionnel, accompagnés du code DAX à mettre en œuvre dans Power Pivot ou SSAS Tabular, d’exemples et de classeurs de démo à télécharger, le tout gratuitement !

DAX Patterns

Non seulement le contenu est excellent, mais le graphisme est léché et la pédagogie au top (il ne manque qu’une petite vidéo en mode tutorial, mais on a déjà le Project Botticelli pour ça).

Messieurs Russo et Ferrari je vous tire mon chapeau, c’est une excellente initiative, et une ressource qui mérite d’apparaître dans tous les favoris des consultants BI Microsoft ! Bravo !

Bravo les italiens!

Quel livre pour apprendre le MDX?

Voici l’occasion de me servir de ce blog pour demander votre aide! En effet je renouvelle la bibliothèque de notre pôle de consultants en BI Microsoft, et je suis tombé sur un os en ce qui concerne la partie MDX.

Car autant j’ai une vision assez claire des références absolues sur quasiment tous les sujets décisionnels (voir en dessous), autant mon guide du MDX, Fast Track to MDX – celui qui m’a tout appris, commence à dater un peu. Quelqu’un aurait un ouvrage à me recommander sur ce sujet? Un cookbook peut être?

Et pour référence, voici mes ouvrages recommandés par sujet. N’hésitez pas à commenter cette liste 🙂

Merci à tous dans les commentaires 😉

Petite réflexion autour de l’accélération des technologies

En ce moment l’écosystème décisionnel Microsoft est en ébullition. Avec la sortie de SQL Server 2012, c’est tout un camion de nouvelles technologies qui débarque dans notre petit jardin: le DAX, SSAS Tabular, PowerPivot, Power View, Data Explorer, des gros morceaux de SharePoint qui s’incrustent, Windows 8, les évolutions SSIS, le T-SQL version 2012… On a un peu l’impression d’avoir un nouveau langage / environnement à apprendre tous les 3 jours.

Même en dehors de Microsoft le décisionnel bouge beaucoup, et on commence à parler Tableau, Qlikview, SpotFire, qui eux aussi requièrent une certaine expertise voir une expertise certaine.

Et si on revient chez Microsoft mais qu’on sort de la BI, on voit que ça bouge beaucoup, et que ça en fait s’interroger plus d’un !

Oh mon Dieu, du DAX!!!

Oh mon Dieu, du DAX!!!

Alors je crois que c’est le bon moment pour un petit rappel qui nous vient de 2002, de chez Joel Spolsky :

When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion. You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can’t fire at you.

Traduit approximativement :

Pendant mon service militaire, un général s’est adressé à nous pour un petit cours de stratégie. Dans les batailles d’infanteries, nous disait-il, il n’y a qu’une stratégie: tirer en mouvement. C’est à dire se déplacer vers l’ennemi tout en tirant dans sa direction. Le fait de tirer lui fait baisser la tête, ce qui permet de se déplacer sans qu’il vous tire dessus.

Qu’il applique à la technologie, quelques paragraphes plus loin:

Think of the history of data access strategies to come out of Microsoft. ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET – All New! Are these technological imperatives? The result of an incompetent design group that needs to reinvent data access every goddamn year? (That’s probably it, actually.) But the end result is just cover fire. The competition has no choice but to spend all their time porting and keeping up, time that they can’t spend writing new features.

De nouveau traduit approximativement:

Pensez à l’histoire des protocoles d’accès aux données issus de Microsoft. ODBC, RDP, DAO, ADO, OLEDB, ADO.NET – tous tout neuf ! Etaient-ils technologiquement incontournables ? Ou le résultat de l’incompétence du groupe de design concerné ? Peu importe, le résultat c’est un tir de couverture : pendant que la compétition passe son temps à adapter son code elle n’a pas le temps d’écrire de nouvelles fonctionnalités.

Et nous autres, les utilisateurs de ces technologies, on est pris au milieu de la bataille.

Les juniors sont découragés par le nombre de technos à apprendre, les séniors s’offusquent d’avoir à apprendre encore un nouveau langage.

Tout ça c’est du « Fire & Motion » de l’éditeur, il est important de ne pas y succomber, car ce n’est pas notre guerre. Pour l’éviter : déterminer quel est votre objectif – réaliser des projets ? – et accomplissez le sans vous inquiéter de ne pas maîtriser l’ensemble des technologies de l’offre.

Ce qui est important c’est :

  • d’avoir les bases, la théorie essentielle indépendante de la techno : parler à un client de ses besoins, la modélisation dimensionnelle, de la gestion de projet élémentaire…
  • de maîtriser au moins une technologie, et connaître ses limites,
  • de savoir apprendre les autres, uniquement au moment où vous avez besoin d’elles et uniquement ce dont vous avez besoin
  • de savoir demander à l’aide.

Pour tous ces points, il y a la communauté. Abonnez-vous aux blogs, participez à FrenchConnection.BI et au GUSS, contactez les experts, bref, ne restez pas tout seul dans le noir 😉

Jusqu’à la fin de votre vie, plus vous apprendrez, plus vous réaliserez à quel point vous en savez peu. C’est de la philosophie de bas étage, mais c’est à garder en mémoire devant l’énormité du travail de veille technologique qui attend tout développeur / consultant qui se respecte.

Bon courage ! 🙂

PowerPivot, BISM, Analysis Services et Marco Russo

Comme je vous le disais tantôt, la semaine dernière j’ai assisté au séminaire de 2 jours de Marco Russo sur PowerPivot.

Ce n’est pas difficile, c’est la meilleure formation a laquelle j’ai eu la chance d’assister, quel que soit le sujet. Que ce soit sur le contenu (précis, clair et exhaustif) ou la présentation (pédagogie, connaissance du sujet, passion), Marco Russo a fait un score parfait. Jusqu’à présent je voyais PowerPivot comme un gadget futur remplaçant d’Access, il m’a bien ouvert les yeux sur ses énormes capacités et le fait que ce soit bien le futur de SSAS. Job well done 🙂

Et hasard du calendrier, c’est justement la semaine dernière que Microsoft a fait le point sur la roadmap de sa plateforme BI pour les années à venir:

En cherchant un peu vous trouverez surement beaucoup d’autres articles sur le sujet (certains en français) et tout autant de discussions.

Moi j’ai eu de la chance, Marco Russo a pris le temps de nous expliquer en direct ce qu’il allait se passer. Chouette non? 😉

Pour la faire en court: SSAS va changer d’architecture pour s’organiser autour d’un modèle dénommé « BISM » (Business Intelligence Semantic Model – Modèle sémantique décisionnel).

Ce BISM comprendra 3 niveaux, chaque niveau pouvant être implémenté de plusieurs façons différentes:

  • Un modèle de données : en multidimensionnel (cf SSAS actuel) ou tabulaire (cf PowerPivot ou une base SQL classique)
  • Un langage de requête : MDX ou DAX
  • Un moteur d’accès aux données : MOLAP (SSAS actuel), VertiPaq (cf PowerPivot) ou un accès direct aux données d’où qu’elles viennent

Notez que lorsqu’on parle ici de modèle de données, on parle de l’implémentation technique (de l’encodage dans une solution informatique) du modèle de données fonctionnel (schéma en étoile, en flocon, ou autre). Mon premier est une suite de 0 et de 1 qui répondent à des contraintes informatiques, mon second est un dessin sur un papier qui répond à des contraintes métiers. Je précise parce qu’au début j’étais perdu: je me demandais à quoi pouvait bien ressembler un modèle de données BI tabulaire? Marco Russo m’a donné la réponse : à un schéma en étoile!

En image, le BISM et ses 3 éléménts ça donne ça:

BISM : l'avenir de SSAS

BISM : l'avenir de SSAS

La première bonne nouvelle c’est que bien que pour la v1.0 les deux piles (Multidim/MDX/MOLAP et Tabulaire/DAX/Vertipaq) soient étanches – on choisit soit une pile soit l’autre, dans le futur on devrait pouvoir choisir de construire la pile que l’on veut avec n’importe quelle brique (Tabulaire/MDX/Vertipaq par exemple). Le choix se faisant alors uniquement en fonction des contraintes métiers / utilisateurs et non de contraintes techniques.

La deuxième bonne nouvelle c’est que si on peut requêter en MDX et en DAX les 2 modèles de données, alors on devrait pouvoir utiliser n’importe quel front end (SSRS, Crescent, PowerPivot…) indépendamment de l’architecture de stockage. Cela lève le doute sur la compatibilité descendante entre Crescent (futur SSRS en DAX) et les cubes SSAS actuels, ça rassure!

Evidemment reste la question de comment faire le choix entre les 2 architectures, et là aussi Marco Russo nous a donné quelques éléments de réponses:

  • Avant tout, que ce soit pour le multidim ou le tabulaire, le schéma en étoile reste la méthode de modélisation des données.
  • Le multidimensionnel sera l’outil de choix pour travailler sur des données fortement hiérarchisées, utilisant des calculs mathématiques sur ces hiérarchies (par exemple sur le temps), avec des relations complexes (many to many) et où l’importance des données réside dans les chiffres (qui a dit finance dans le fond?)
  • Le tabulaire (avec Vertipaq et la compression en colonne) est ultra efficace sur les calculs en distinct et distinct count, même sur des très très gros volumes de données, il manipule bien les chaînes de caractères et est beaucoup plus facile à comprendre pour les utilisateurs (on dirait Access!)

En terme de proportions, Marco Russo nous a dit qu’il voyait les futurs projets ventilés en:

  • 30% ne pouvant être réalisés qu’avec du Multidim
  • 10% ne pouvant être réalisés qu’avec du Tabulaire
  • 60% au choix, avec beaucoup de Tabulaire puisque plus facile à implémenter

Personnellement je retrouve l’enthousiasme sur le futur de la BI Microsoft. Même si on est encore un peu déshabillé point de vue reporting, l’offre Microsoft est vraiment très belle point de vue moteur. Entre le dB Engine SQL, MOLAP et Vertipaq, on a de très belles technologies, partiellement recouvrantes mais pas redondantes, qui ont du sens et qui pulsent point de vue performance. Avoir des bons outils c’est essentiel pour bien faire son job, là je me sens bien équipé. C’est cool 🙂

PowerPivot : Marco Russo à Paris!

Pour ceux qui ne connaissent pas PowerPivot, c’est le tout dernier add-in gratuit de Microsoft pour Excel 2010. Il permet de se monter son propre petit datawarehouse directement dans Excel, d’importer des données de plusieurs sources (Cubes OLAP, bases SQL, fichiers CSV, onglets Excel…), de les mélanger et de créer ses propres indicateurs calculés! La consultation des données se fait ensuite avec l’interface des tableaux croisés dynamiques qui a été bien améliorée dans Excel 2010.

C’est un bel outil, qui adresse des besoins utilisateurs jusqu’à présent ignorés par Microsoft. Et en plus le nouveau petit langage qui sert à créer ses propres indicateurs, le DAX, est le futur remplaçant du MDX dans les prochaines versions d’Analysis Services. Donc autant dire que c’est une très bonne première marche pour entrer dans le monde de la BI Microsoft!

Pour le moment il y a 3 bloggeurs de références sur PowerPivot: Rob Collie, Kasper de Jonge et Marco Russo. Ce dernier est italien, ce n’est pas un nouveau puisqu’il a déjà écrit avec Alberto Ferrari plusieurs bouquins de référence sur la BI Microsoft, et il s’est lancé à fond dans PowerPivot depuis sa sortie.

Je vous en parle parce qu’il vient faire un séminaire sur le sujet lundi et mardi (les 16 et 17) prochain au campus Microsoft à Issy les Moulineaux. Évidemment j’y serai, je sais que je préviens à la dernière minute, mais si vous vous intéressez à la BI, que vous savez ce qu’est un tableau croisé dynamique dans Excel, que vous avez toujours voulu savoir ce qu’était un schéma en étoile, je vous conseille vraiment de venir. N’hésitez pas à sauter le pas, c’est le genre de compétence qui peut être déterminante dans une carrière.

Nouveau boulot, PowerPivot

Comme vous le savez déjà, j’ai commencé mon nouveau boulot lundi. Les deux premiers jours se sont très bien passés, je suis content 😉

Ma première mission concerne une étude de faisabilité autour de PowerPivot (le fameux nouveau décisionnel self-service de Microsoft) pour une banque, et je dois dire que j’apprécie particulièrement le produit. Le nouveau langage qui accompagne le soft, le DAX, est relativement intuitif lorsqu’on connaît bien Excel. Le soft est bien foutu, bien intégré à Excel 2010, rapide, carré, c’est franchement une réussite. Ça me rassure sur la suite des opérations!

Au passage, je vous recommande l’excellent bouquin de Marco Rosso et Alberto Ferrari (recommandé par Rob Collie himself). C’est celui que j’utilise, et je le trouve très très bien écrit.

J’aurai un retour surement plus critique un peu plus tard, lorsque l’euphorie des premiers jours sera passée. En attendant, je profite 🙂