Archive pour la catégorie ‘Business Intelligence’

Data Explorer 101

18 janvier 2012

Je parle de Data Explorer depuis quelques articles mais sans rentrer dans le dur : une démo.

L’objectif de cet article est de vous proposer un tutorial pour démarrer, un one-o-one comme dit dans le jargon.

Avant de commencer

Il vous faut un accès à Data Explorer. La beta est publique mais il faut quand même une invitation. Ca se passe ici :  https://dataexplorer-signup.sqlazurelabs.com/

Vous pouvez aussi commencer avec la version on-premices : télécharger Data Explorer

En premier lieu, choisir la source

C’est simple, il suffit de piocher dans les types de sources disponibles. On retrouve les classiques (fichiers, SQL, web, etc.). Je détaillerai dans d’autres articles les sources un peu exotiques. Là on va faire simple, on va prendre un CSV.

image

On choisit donc notre source en cliquant sur Import File.

image

Un peu de vocabulaire et de bases :

  1. en haut à gauche, c’est le mashup, l’équivalent d’un package en ETL (retenez le, c’est là que vous faites Ctrl+S)
  2. dans la colonne de gauche, ce sont les ressources. On peut les comparer à des flux (Data Flow Task pour les SSIS-guys) mais c’est plus “compliqué” que cela, j’y reviendrai dans d’autres articles
    l’icone en forme d’oeil à côté indique si la ressource (ie. le flux) est visible, c’est à dire s’il sera publié, ou s’il est purement interne
  3. Tâches de la ressource : c’est un fil d’Ariane qui montre l’enchainement des tâches à appliquer sur le flux de données (comme des composants de DFT)
  4. Tools : c’est votre Toolbox où vous choisissez les tâches à ajouter dans la ressource
  5. Formule : toute tâche peut s’écrire avec une formule à la Excel. Vous noterez ici que lire un fichier se fait avec la méthode Embedded.Content().
  6. Configuration de la tâche : si vous ne connaissez pas la syntaxe des tâches, vous pouvez utiliser le panneau de configuration de la tâche

Ajouter des transformations

Nous avons notre source CSV dans la ressource qui s’appelle Musees (c’est la liste des musées de France). Appliquons maintenant des transformations pour exploiter cette source. Dans l’ordre, nous allons :

  • typer la source en CSV
  • déclarer la première ligne comme entête des colonnes
  • filtrer des lignes
  • supprimer des colonnes

Typage de la source

image

Il suffit juste de cliquer sur la tâche CSV dans la toolbox.

Déclaration des entêtes

image

On promeut la première ligne comme entête de colonnes

Filtrer les lignes

On ne veut que les musés ouverts (donc colonne ferme=NON).

image

On verra dans d’autres articles la notion de type; ici on considère le champ comme du texte (Text.Type) donc attention à la casse. Pour sécuriser, on aurait pu utiliser la fonction Text.Upper()

Supprimer des colonnes

La colonne “ferme” ne nous sert plus à rien donc on va la supprimer (masquer) du flux.

image

Vous devez avoir un flux qui ressemble à cela :

image

Note : vous pouvez renommer les tâches pour donner un peu plus de sens (documentez !)

Publication

Il nous reste à publier le flux pour une exploitation (PowerPivot, SSRS, etc.).

La première chose est de sauvegarder (en haut à gauche) et de revenir sur votre workspace (en haut à droite).

image

Clic-droit –> Publish, simple non ? Vous avez aussi un bouton Publish en bas et les options de publication.

image

Une fois publié, vous avez accès à une page contenant tous les liens d’accès aux données (OData, Excel, CSV, etc.).

image

Et voila.

Bon mashup !

Philosophie autour de Data Explorer : find the pony in your data

16 janvier 2012

imageIl y a quelques temps, lors d’une discussion BI, nous nous sommes interrogés mon interlocuteur et moi sur ce sujet : comment trouver des événements exceptionnels dans nos données ?

Événements exceptionnels ? J’entends par là des patterns dans les faits ou des faits suffisamment particuliers (ou hors-normes) pour avoir un “intérêt” métier. On peut appeler cela anomalies, cas aux limites, intuition, etc.

Tous les SI contiennent une masse impressionnante de données et je milite depuis toujours pour construire des projets décisionnels et de les exploiter.

Mais bien souvent lors de la modélisation, le réflexe est d’assainir les données, en ne prenant que le plus simple finalement. Cette simplification arrondit les angles et en conséquence rabote les événements exceptionnels.

Ce n’est pas par laxisme évidemment ; c’est parce que c’est le chemin le plus court (et donc celui qui rentre dans le budget) pour obtenir des résultats exploitables par le client et évidemment des résultats corrects, qui est un prérequis en BI.

Il y a une expression anglaise qui dit : “find the pony”. Je n’ai pas trouvé d’expression équivalente dans la langue française mais on pourrait la traduire par “trouver la pépite

On est tous d’accord que chercher cette pépite dans nos données est une tâche compliquée voire impossible quand la volumétrie s’exprime en To.

Comment le trouver ce poney ?
(non on ne va pas voir Bonjour Poney Florent)

La première piste est de trouver un outil qui va nous aider dans la recherche, c’est le propos du Data Mining. (NDM : j’ai failli mettre méthodologie au lieu d’outil – le débat est ouvert).
Soit, cet outil se base sur une logique humaine (si on considère que les dataminers sont humains) et le résultat doit être interprété par un œil humain (pour les algos de pure découverte).

La réflexion porte donc sur la capacité du cerveau humain à identifier rapidement des patterns, à détecter en un clin d’œil une anomalie ou tout simplement à imaginer des associations.
C’est le propre de l’homme et certains en font leur métier ; c’est le cas des artistes ou des marketeux (évidemment, dans le lot, certains sont talentueux).image

Donc imaginons que tout le monde soit "data miner", imaginons que des services entiers (marketing par exemple1) scrutent les données dans tous les sens.

 

Quelle force de frappe on aurait !

Eh bien, c’est un des aspects de la BI en Self-Service et de l’ouverture des données (OData par exemple). Cause ou conséquence, la poule ou l’œuf ?
En tout cas ces 2 courants, simples buzz il y a quelques années (note : je n’ai pas cru à OData en 2008 Triste), sont maintenant une réalité.

L’idée n’est pas d’avoir un outil magique qui trouverait tout seul mais donner accès massivement aux utilisateurs et de les laisser fouiller en libre accès. Ainsi on bénéficie d’un nombre important de cerveaux humains prêt à jouer avec les données dans tous les sens.

L’armée mexicaine en quelque sorte.

Armée mexicaine

 

Mais concrètement, ils doivent faire quoi mes utilisateurs ?

Evidemment, il faut quand même des outils car vous vous doutez bien que les utilisateurs ne vont pas écrire des SELECT *.

Là interviennent des outils comme PowerPivot et Data Explorer. Le premier est très mature et se concentre sur le croisement des données. Le second, encore en beta, va permettre de créer des mashup et de faire du traitement de données (nettoyage, consolidation, reformatage, etc.).

Leur point commun est que l’utilisateur est autonome dans sa relation avec les données dès l’instant où il y a accès.

Je reviendrais un peu plus sur Data Explorer dans les prochains posts et évidemment, je vous recommande ma session aux TechDays avec plein de démos.

Allez les utilisateurs, on fait chauffer les neurones et on augmente la maturité BI de sa boite.

 

1 j’ai une grande admiration pour les métiers du marketing, c’est pourquoi je les “chalenge” un peu. Il n’y a pas de mauvais esprit ou un contentieux à régler Tire la langue

Release de Data Explorer

7 décembre 2011

imageEnfin, Data Explorer est ouvert publiquement.

En plein préparatifs des Journées SQL Server, je n’ai pas beaucoup de temps pour vous faire un article complet mais je vais quand même vous faire un petit pitch.

Le mot-clé, c’est Self-Service ETL. Data Explorer vous permet de construire et de publier des mashup de données.

image

Les sources sont variées : Sharepoint, SQL Azure, Azure Data Market, Web, OData, Excel, SQL, Web Service, etc.

Les transformations que l’on applique sont classiques (Lookup, Merge, dédoublonnage, conversion, etc.) mais imaginez que vous avez le résultat (le dataset) calculé en live sous vos yeux. C’est ça la puissance du Cloud.

L’outil est cloud-based mais une version cliente existe pour l’utiliser avec vos données privées (même si en un coup de Data Sync, elles seront sur le cloud).

Enfin, on publie le flux de données résultant via OData, CSV ou Excel pour le consommer dans n’importe quel outil de visualisation (Azure Reporting, Report Builder, Power Pivot, etc.).

Data Explorer

 

On parle maintenant d’ETP : Extract – Transform – Publish

J’ai pu jouer avec depuis quelques mois déjà et l’outil est impressionnant. Moi qui suis fan de SSIS, j’ai été conquis au premier regard.

 

Pour jouer avec : https://dataexplorer.sqlazurelabs.com/ (mais je crois qu’il vous faut une clé).

Pour les infos officielles :
http://blogs.msdn.com/b/dataexplorer/archive/2011/12/06/announcing-the-labs-release-of-microsoft-codename-data-explorer.aspx

Tabulaire ou Multidimensionnel ?

3 décembre 2011

Non, je ne répondrai pas à la question. :P

En revanche, je vous recommande la session de François et Aurélien aux Journées SQL Server. Un avant-gout sur le blog de François :

http://fjehl.blogspot.com/2011/12/4-bonnes-raisons-de-venir-decouvrir.html

Les Journées SQL Server : le programme

25 novembre 2011

Les Journées SQL Server, c’est dans 2 semaines. Les 26 speakers sont dans les starting-blocks pour vous assurer des sessions 100% SQL Server.

Voici le (long) programme de ces 2 jours de conférences à Paris.

(n’hésitez pas à construire votre agenda sur le site d’inscription, cela nous aidera à pour le choix la répartition des salles et pour votre confort)

Journées SQL Server - Programme 12 décembreJournées SQL Server - Programme 13 décembre

Programme Business Intelligence

La BI avec SQL Server 2012
Tour d’horizon de toutes les nouveautés BI de SQL Server 2012, de BISM à Power View (projet Crescent) en passant par SSIS et le nouveau moteur de qualité de données DQS.
Cette session introduit l’ensemble des choses que vous verrez pendant l’événement.

Décider entre Tabular ou Multidimensional pour un projet Analysis Services
Cette session se focalise sur les différences entre le nouveau modèle BISM et le modèle UDM classique. Qu’est ce qui change ? Dois-je refaire mes projets décisionnels ? Dois-je apprendre un nouvel outil ? Découvrez tout ce qu’il faut savoir sur la nouvelle version d’Analysis Services dans SQL Server 2012 au travers de cette session.

Power View, Powerpivot : voir ses données autrement
Power View (projet Crescent) est la nouvelle évolution dans la famille des outils de restitution de données Microsoft. Découvrez ce nouvel outil qui permet la création de tableaux de bord très riches et dynamiques.
Dans cette session, découvrez également sa collaboration avec PowerPivot. Ensemble, ces 2 outils donnent du pouvoir aux utilisateurs afin de maitriser leurs besoins décisionnels.

ColumnStore Index : une nouvelle façon d’indexer vos Datawarehouse
Connu sous le nom de code Apollo, SQL Server 2012 apporte une grande nouveauté dans l’indexation des bases de données : les index de type colonne.
Venez découvrir cette fonctionnalité et comment elle peut améliorer grandement vos performances avec le cas d’utilisation d’un DatawareHouse.

Modélisation dimensionnelle : le fondement du datawarehouse
Etoiles, flocons, granularité, faits, dimensions, mesures… c’est le vocabulaire du décisionnel, ce sont les éléments de base du datawarehouse. Kimball & Inmon, ce sont les précurseurs qui ont définit comment penser ses dimensions, comment modéliser ses tables et ses colonnes pour bien répondre au besoin d’analyse.
Avec SQL Server 2012 et son modèle tabulaire, ce modèle de conception est-il remis en cause ? Et que dire des autres courants comme Data Vault, Hadoop et consorts ?
Cette session fait le tour de ces notions et des modélisations existantes. Elle présente les concepts essentiels à prendre en compte pour bien construire sa solution décisionnelle, que ce soit en termes de justesse de l’analyse, d’efficacité pour le stockage ou de temps de réponse. Cette session s’adresse aux nouveaux venus du décisionnel, aux autodidactes n’ayant jamais pu acquérir la théorie ou encore aux consultants confirmés qui souhaitent se mettre à jour sur les bonnes pratiques de la modélisation dimensionnelle.

Les nouveautés SSIS dans SQL Server 2012
SSIS bénéficie de nombreuses améliorations dans la prochaine version de SQL Server (nouveaux designers, mode projet, etc.).
Venez découvrir toutes ces nouveautés qui enrichissent cet outil de manipulation de données, indispensable dans les projets décisionnels mais aussi très pratique dans de nombreuses tâches de développement.

MDS & DQS : données d’entreprise Tour d’horizon de SQL Server 2012 Master Data Services et Data Quality Services, où nous verrons comment mettre en place un référentiel de données d’entreprise et d’un système de qualité de données tout cela dans une démarche de Master Data Management.

Programme SQL Core

Réussir sa migration vers SQL 2008 R2 ou SQL Server 2012 La migration vers une nouvelle version de SQL Server : le pourquoi, le comment, les problématiques, les meilleures pratiques, le retour d’expérience.
Tout ce qu’il faut savoir pour bien migrer.

Nouveaux évènements étendus dans SQL Server 2012
SQL Server bénéficie d’un moteur événementiel puissant. Découvrez tout ce qu’il y a à savoir sur les événements dans SQL Server et les nouveautés apportées par la prochaine version.

SQL Server : ses fonctionnalités méconnues, donc indispensables La réputation de SQL Server n’est plus à démontrer, mais connaît-on toutes les fonctionnalités offertes avec SQL Server ? Cette session fera le point sur quelques-unes des fonctionnalités disponibles dans les différentes versions actuelles de SQL Server, de 2005 à 2008 R2. Ainsi, nous verrons comment ces fonctionnalités peuvent améliorer le quotidien des systèmes informatiques.

Optimisation et Troubleshooting SQL Server Méthodes, outils et best practices pour identifier et corriger les problèmes de performances sur SQL Serveur ou tout simplement en optimiser les performances.

Industrialisation du développement SQL Server avec Visual Studio et TFS, présent et futur
La vie d’une base de données, ce n’est pas facile: des index manquants des scripts de mise à jour à lancer, mais dont on ne sait pas l’ordre… Et si tout cela pouvait être de l’histoire ancienne. Nous allons voir que nous avons avec le développement sur le moteur relationnel le même niveau d’outillage qu’un langage de développement tel que C# ou VB.Net: Intégration avec Visual Studio, source control, refactoring, tests, déployement. Et non avec SQL Server Data Tools (projet Juneau) qui arrive, SQL Server n’est pas du tout le parent pauvre de l’ALM

AlwaysOn et les groupes de disponibilité dans SQL Server 2012
La haute-disponibilité est essentielle dans les bases de données critiques. Chaque version de SQL Server a apporté ses fonctionnalités ou améliorations, offrant ainsi tout un panorama de solutions.
Avec SQL Server 2012, toutes ces solutions sont réunies dans AlwaysOn afin d’offrir une solution simple, performante et riche fonctionnellement.

Contraintes et performances Une idée solidement ancrée dans l’esprit des informaticiens est que la vérification des contraintes "gâche du temps" d’exécution, tant est si bien que certains évite de les poser.
Nous verrons quel est le coût exact d’une contrainte, quel perte de temps elle entraîne, comment minimiser leur temps d’exécution et comment la plupart des contraintes SQL permettent de vous faire gagner un temps considérable…
Après cet exposé, vous n’aurez plus qu’une seule envie : poser le maximum de contraintes dans votre base de données !

La Sécurité dans SQL Server et les nouveautés de la version 2012 Apprenez à travers cette session à protéger facilement et efficacement votre SQL Server. Vous découvrirez également comment SQL Server 2012 vous permettra de renforcer la sécurité de vos bases de données.

Serveurs Core, virtualisation : technologie d’avenir, choix technique délibéré ou effet de mode De plus en plus d’instances SQL sont virtualisées. Effet de mode, choix technologique en phase avec les besoins de performance et d’évolutivité de l’application, quels sont les bénéfices et les inconvénients de la virtualisation.
Les serveurs Core, avec la possibilité d’y installer SQL Server, constituent-ils l’avenir des serveurs de bases de données ? Quels avantages peut-on tirer de cette nouvelle possibilité ? Offre t-elle les mêmes fonctionnalités qu’une édition complète (Standard ou Entreprise) ?

SQL Server 2012 au-delà du relationnel Venez découvrir les nouvelles fonctionnalités apportées par SQL Server 2012 pour améliorer la gestion de vos données non-structurées ou semi-structurées.
Nous aborderons les nouveaux types de données comme FILETABLE, en adjonction de FILESTREAM, qui vous permettront de gérer vos fichiers BLOB directement depuis votre explorateur de fichiers.
Nous redécouvrirons la recherche de texte intégral, iFTS, avec notamment l’ajout de la recherche sémantique dans SQL Server 2012. Nous approfondirons les types particuliers comme HIERARCHYID ou les colonnes SPARSE COLUMN. Nous analyserons aussi le gain de performance amené par l’utilisation des INDEX FILTRES.
Enfin, nous ferons un tour du côté des données SPATIAL et les nouveautés apportées par la dernière mouture du moteur SQL SERVER

Trucs et astuces pour réussir des déploiements de Réplication de grande taille en entreprise Dans cette session nous partagerons les meilleures facon de configurer de grosses infrastructures de réplication de fusion pour garantir leur scalabilité et leur disponibilité en environnement critique.
Déployer et gérer de massives architectures distribuées requiert une bonne compréhension du fonctionnement interne de ces technologies et de leur configuration. Nous illustrerons cette première partie avec la facon dont un client a implementé une grosse topologie de réplication de fusion permettant de synchroniser des milliers d’appareils portables. Nous aborderons quelques unes des problematiques clés et expliquerons comment nous les avons résolues.
Enfin, nous expliquerons comment on peut combiner les technologies de Réplication avec AlwaysOn et SQL Server 2012.

Les idées reçues sur SQL Server 10 Mythes concernant SQL Server, par exemple l’escalade des verrous, les mythes sur les Backup, tempdb doit toujours avoir un datafile par cœur, AWE doit être activé sur les systèmes 64 bits, etc.
L’idée est de parler de 10 mythes qui ont la vie dure, et de démêler le vrai du faux.

Programme Appliances

Présentation des Appliances HP/Microsoft Tour d’horizon de l’offre d’appliances issues du partenariat entre Microsoft et HP.
De la Business Decision Appliance (BDA), à Database Consolidation (DBC) en passant par Parallel Data Warehouse (PDW) et les offres Fast Track, cette session présentera les avantages des appliances sur les solutions développées en interne dans les entreprises.

Fast Track et Parallel Data Warehouse (PDW)
Découvrez dans cette session toutes les fonctionnalités offertes par nos architectures de référence Fast Track et l’appliance SQL Server Parallel Data Warehouse.
Ces offres, tout en limitant le coût total de possession, permettent d’optimiser significativement les temps de réponse des Data Warehouses et DataMart.

Database Consolidation Appliance (DBC)
1000 instances dans un seul rack ? C’est maintenant possible avec DBC, la nouvelle appliance issue du partenariat avec HP.
Cette appliance a été développée pour répondre au besoin croissant des entreprises de consolider leurs bases de données et représente un pas supplémentaire vers le Cloud privé, grâce aux fonctionnalités de virtualisation de SQL Server notamment.
Vous seront présentées toutes les fonctionnalités et cas d’usage de cette appliance tant attendue.

Programme Divers

SQL Server & Sharepoint : le couple de l’année
Venez découvrir dans cette session les spécificités de l’architecture, de la gestion et du décisionnel dans un contexte SQL Server associé à SharePoint.
Les produits suivants seront couverts : SQL Server 2008 R2, SQL Server 2012, Power View (projet Crescent), SharePoint 2010, SQL Server Reporting Services, Excel Services, PowerPivot, Performance Point Services, etc.

Introduction de SQL Azure Dans cette session, vous découvrirez la base de donnée de Microsoft dans le cloud : SQL Azure. Nous ferons un tour complet de SQL Azure en passant par les scenarios simples, la sécurité, la performance, la haute disponibilité, les problèmes les plus courants et comment tirer avantage de cette base de donnée relationnelle pour vos logiciels.

En préparant les Journées SQL Server

17 novembre 2011

Hier j’ai déjeuné avec 3 confrères experts en Business Intelligence Microsoft. L’objectif étant de préparer et coordonner nos sessions des Journées SQL Server du 12 et 13 décembre prochain.

Logo_Journees_SQL_Small

—> Inscription et infos ici <—

  • Florian et moi-même présenterons une session sur la modélisation décisionnelle autrement dit comment construire son projet décisionnel pour analyser son Business
  • Aurélien et François parleront plus spécialement du nouveau modèle tabulaire de SSAS 2012, de PowerPivot et de leurs différences avec le modèle multidimensionnel actuel.

Nos sessions étant très connexes, nous nous sommes réunis pour partager et échanger nos points de vue.

Je dois dire que nous nous sommes retrouvés sur de nombreux points, qu’ils soient techniques ou plus philosophiques.

  Jour 1
Lundi 12 décembre
Jour 2
Mardi 13 décembre
10h – 11h15   Florian – Jean-Pierre
Modélisation dimensionnelle
11h45 – 13h Aurélien – François
Tabular vs. Mutidimensional
 

 

Ce genre de déjeuner est intéressant, riche et j’ai beaucoup apprécié. De l’extérieur ça fait "débat d’experts", avec des blagues de geeks qui ne font rire que nous, comme DataVault (ou encore la blague du médaillon d’Isisnovnac en 1505, pour ceux qui connaissent).

Plus sérieusement, on a parlé modélisation, outils, roadmap, utilisateurs, maturité d’entreprise, anecdotes de projet, etc. A recommencer et plutôt 2x qu’une (le soir de préférence avec un bon Collioure).

 

JehlKoppeleidenC'est moi ! (Business Geek)

François Jehl
Infinite²
Aurélien Koppel
Microsoft
Florian Eiden
MCNext
Jean-Pierre Riehl
Azeo

 

Les experts de la Business Intelligence sont peu nombreux en France (même si l’on compte quelques pointures en Europe comme Marco Russo, Alberto Ferrari, Davide Mauri ou Chris Webb).

J’ai dans l’idée qu’un groupe de travail voit le jour prochainement et mon retour sur Paris n’y est pas étranger ; cause ou conséquence, je vous laisse juge.

En tout cas, mes 3 confrères ne m’en ont pas fait douter hier.

Qui sait, il va peut-être y avoir une Mafia BI à la française, façon 4 mousquetaires ?

 

PS : Je me dois aussi de citer Sébastien Madar, autre spécialiste BI avec qui je viens de déjeuner. Je reviendrai plus en détail sur sa session dans un autre post car c’est la session avec le plus d’inscrits pour l’instant : la BI avec SQL Server 2012.

Conférence Business Intelligence à EPITA

16 novembre 2011

EPITA (Ecole Pour l’Informatique et les Techniques Avancées), tout le monde connait ?

J’y ai passé 5 ans de ma vie  (dont les 2 dernières à mi-temps mais ça faut pas le dire) et je garde un excellent souvenir de cette école qui prépare très bien les ingénieurs.

Encore aujourd’hui je garde un lien avec l’école (pas que pour des raisons géographiques Clignement d'œil) mais aussi un lien avec mon ancienne “spé” SIGL (Systèmes d’Information et Génie Logiciel).

EPITA organise deux fois par an des semaines de conférences pour ses étudiants avec des intervenants du monde de l’entreprise qui viennent parler de leur expérience, de leur parcours ou de sujets techniques.

J’ai eu l’honneur de venir animer une session sur la BI. Je la voulais très pragmatique mais difficile en 1h30 de poser le décor et les fondements du décisionnel et monter un projet complet.

J’étais accompagné par le patron de la Practice Collaboratif d’AZEO, Vincent Renzi qui est venu conclure sur l’importance des portails (et donc de Sharepoint) pour diffuser l’information.

 

Les slides, c’est ici

 

Merci aux étudiants qui m’ont écouté, attentivement je dois dire. A bientôt dans la vie professionnelle.

PowerPivot v2–CTP3

25 juillet 2011

PowerPivot passe en v2 avec Denali. Ce n’est plus seulement un outil autonome, c’est maintenant un client et un outil de conception de modèle d’analyse BISM en mode tabulaire.

La nouvelle version de l’addin s’aligne avec les projet SSAS Tabular de Visual Studio.

image

Il est disponible ici :

http://www.microsoft.com/download/en/details.aspx?id=26721

 

La liste des nouveautés :

  • Mode avancé : permet d’accéder aux fonctionnalités avancées
  • Création de KPI : permet de définir des objectifs aux mesures et une iconographie pour représenter l’atteinte ou non de ces objectifs
  • PowerPivot 2 - KPI
  • Tri des membres en fonction d’une autre colonne
  • image
  • Vue en mode Diagramme (comme dans Visual Studio)

PowerPivot 2 - vue diagramme

  • Table de temps : permet de définir une dimension comme “temporelle”
  • Perspectives : permet de définir des “vues” différentes sur le modèle (ex : mesures et dimensions pour les commerciaux et pour le marketing) ; équivalent aux perspectives d’Analysis Services
  • Informations représentatives : permet de définir la mesure, l’attribut ou une image le plus représentatif pour les outils de reporting (ça sent une feature pour Crescent ça)

image

 

Voila pour un premier aperçu de PowerPivot v2. J’ai juste migré quelques classeurs et je n’ai pas encore fait un tour vraiment complet. Affaire à suivre…

SCD et dimensions historisées

2 juillet 2011

Revenons un peu sur les bases des modèles de Kimball, autrement appelés modèles en étoile ou en flocon de neige (star-schema, snowflake-schema).

On distingue différentes façons de gérer les dimensions que l’on classe en types (les attributs essentiellement).

  • Type 1 : dès qu’un attribut de la dimension change, on met à jour le membre
  • Type 2 : si un attribut change, on crée une nouvelle entrée pour conserver l’historique des valeurs
  • Type 3 : une version hybride que je n’ai jamais vu une seule fois en prod (ni même en dev)

Pour les attributs de Type 2, il faudra gérer des marqueurs indiquant quelle est la valeur en cours. On peut utiliser un booléen ou des dates (la dernière étant à NULL).

 

Un exemple pour comprendre :

Dans un cube CRM, j’analyse des ventes par clients et par extension par les différentes caractéristiques de ceux-ci (nombre d’enfants, CSP, etc.).
Quand M. Moulin change de CSP, on souhaite tracer cet événement car on veut garder le fait que M. Moulin était “ouvrier qualifié” quand il a fait son premier achat en 2005 et que ses achats de 2010 sont sous la catégorie “commerçant”.
On crée donc une nouvelle ligne dans la dimension pour représenter ce nouveau M. Moulin.
En revanche, on ne souhaite n’avoir qu’un seul M. Moulin et ses différents achats si on regarde sur l’ensemble des années.
Et si par exemple M. Moulin devenait Mme Moulin (c’est rare mais ça peut arriver), on ne souhaite pas forcément historiser cette information. On changera le champ dans toutes les occurrences.

On a donc une table de dimension qui ressemble à cela :

CustomerID

FullName

CSP

IsCurrent

2345 Moulin Gérard Ouvrier Qualifié

0

16009 Moulin Gérard Commerçant

1

Et la table de faits comme ceci :

FactID

CustomerID

ProductID

DateKey

7 2345 1234 20050708
100004 16009 456 20100130

Analysis Services (ie. le cube) saura agréger les ventes de Monsieur Moulin mais aussi les ventes par CSP. Ce “doublon” dans la dimension n’est pas un problème.

Comment implémenter cela dans l’ETL :

En SSIS (et plus généralement dans les ETL), on utilise un composant appelé SCD (Slowly Changing Dimension / Dimension à variation lente) qui prend en charge la mise à jour de la dimension en fonction des types de ses attributs.

On a un assistant qui nous guide dans cette tâche et qui va tout gérer, y compris l’historisation en générant les tâches sous-jacentes

image

Dans le screenshot ci-dessus, on voit plusieurs sorties au SCD. C’est l’assistant qui a créé tous les composants en dessous en fonction du type des attributs.
Je vous conseille de les renommer (pour les logs) sauf que si vous rejouez l’assistant, il recréera les composants :/

La question des Inferred Member :

Une étape de l’assistant demande si on doit gérer les Inferred Members (désolé, je n’ai pas le traduction à portée de main). J’ai souvent des questions sur ce point.

C’est pour gérer ce qu’on appelle les “early arriving fact”. En langage clair, ce sont des membres de la dimension qui ont été insérés par un autre moyen (souvent des membres créés à la volée lors de l’insertion des faits pour ne pas lever d’erreur et perdre d’information). Cette gestion évitera qu’au prochain passage du SCD, quand la ligne viendra de la source principale de recréer une ligne d’historique inutile.

Personnellement, je ne l’utilise jamais et je ne suis jamais tombé sur un DataWarehouse utilisant ce concept.

A surveiller :

Attention aux performances. Tout système décisionnel doit gérer des dimensions à variation lente mais c’est souvent un point noir dans le process.

En effet, pour chaque ligne d’entrée, une requête ramenant la ligne est effectuée pour faire la comparaison. Quelques tips :

  • faire de l’incrémental (CDC, champ “date de modification”, etc.)
  • mettre l’index Clustered sur la Business Key
  • ne pas historiser (Tire la langue)

Un point sur la conception :

Lors de la conception de la dimension, quand on fait le choix de l’historisation, il faut être vigilant.

Si vous demandez à l’utilisateur ce qu’on doit historiser, il répondra : “TOUT”. On connait l’adage, “qui peut le plus, peut le moins” mais il faut néanmoins raisonner tout cela car on peut vite tomber sur une usine à gaz.

Y’a t-il vraiment une réalité d’analyse derrière ?

N’oubliez pas que la clé d’un projet de business intelligence est la modélisation de l’analyse (approche top-down, approche MDM, etc.).
La phase d’interview doit être vigilante à ces problématiques “techniques” car ce n’est pas parce que c’est supporté que c’est bon de le mettre.

On sera donc vigilant à la cardinalité. Si votre dimension à 40 attributs et que la fréquence de changement est haute, vous risquez d’avoir énormément de lignes dans la table de dimension.
Je suis tombé une fois sur une dimension ou au moins un des attributs changeait tous les jours. A ce niveau, ce n’est pas une dimension historisée mais des faits.

Un dernier tip pour la route :

Pour la développeur qui doit ouvrir le package longtemps après la conception ou bien le consultant qui l’ouvre pour faire une analyse ou un optimisation, il peut arriver (si le modèle de données est désynchroniser) que le composant perdre sa configuration. C’est rare mais ça m’est arrivé (de moins en moins avec les versions qui avancent).

Pour ne pas devoir fouiller dans le XML du DTSX, je demande à mes équipes de documenter le SCD avec une annotation. Voici un exemple ci-dessous.

image

 

Pour finir, les problèmes :

Dans le post suivant, je parlerai d’un petit problème qui existe avec le SCD, les dimensions de Type 2 et les marqueurs de type date

(et je ne parle pas du fait que si vous rejouez l’assistant, il recrée les composants sous-jacent et donc casse tout votre nommage Fâché)

Un peu plus sur le BISM

21 mai 2011

Pour commencer, rappelons que BISM est l’acronyme de Business Intelligence Semantic Model. J’en ai parlé dans un précédent article sur Denali.
Le TechEd 2011 aux U.S. vient de se terminer et on en sait un peu plus (pas beaucoup mais suffisamment pour livrer des news dans un post).

Ma description du BISM reste juste ; il vient bien en complément de l’UDM. L’objectif de Microsoft est effectivement de fusionner totalement UDM et BISM à terme.

Pour nos projets décisionnels, on aura donc un modèle commun appelé BISM.

  • On l’implémentera de façon traditionnelle (Kimball) ou sous une forme plus “relationnelle” à la PowerPivot.
  • Ce modèle supportera les langages de requêtage  MDX et DAX (même si évidemment, je doute d’une totale bijectivité).
  • Analysis Services fera tourner tout cela en MOLAP ou en Vertipaq (en fonction de l’implémentation)
  • L’ensemble des outils amont (ETL) et aval (SSRS, Crescent, Excel, etc.) supporteront les 2 implémentations (de façon transparente – espérons-le)

BISM

Donc 2 chemins, 2 implémentations pour une même résultat ? Comment faire le choix ?

Je le rappelle, les 2 ne sont pas incompatibles et des voies de migration existe(ront). Il a été annoncé que les cubes SSAS 2008 deviendront de facto un BI Semantic Model ; aussi, on pourra importer un modèle PowerPivot dans SSAS.

Et pour un nouveau projet ? C’est là qu’il faut attendre d’avoir un peu de recul sur les spécificités de chaque modélisation car on sait bien que la vraie vie d’un projet est remplie de contraintes.

Quoiqu’il en soit, les outils, les couches d’accès aux données, la philosophie même, seront indépendants de ce choix puisque c’est BISM qui fera l’abstraction (même si la prochaine CTP annoncée fera la séparation).
Evidemment, dans quelques années, on ne se posera plus la question Clignement d'œil

La stack BI de Microsoft reste donc cohérente et nous promet de répondre à tous les besoins décisionnels de tous les utilisateurs au final.


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers