Business Intelligence en France : FrenchConnection.BI

Un article pour parler d’une toute nouvelle communauté qui vient de se mettre en place en France.

La FrenchConnection.BI ! Cette volonté de faire connaitre les technologies Microsoft en matière de BI, dans un cadre communautaire en France est initiée par 4 personnes.

  • Francois Jehl
  • Aurélien Koppel
  • Florian Eiden
  • Jean Pierre Riehl

Un peu la crême de la crême, si il fallait monter une équipe BI Nationale ces 4 là seront à coup sûre sélectionnés. Juste pour dire que c’est bon de savoir que la communauté MS BI en France est entre de très bonnes mains.

Très bonne initiative, au programme des évènements pour l’instant pas de grande annonce mise à part un AfterWork et un sujet d’échange sur le Self-Service BI.

Il faudra s’ attendre à d’autres évènements comme des conférences, des débats , des articles, des tips etc., le tout dans une ambiance conviviale.

Plus d’infos visitez le site : http://frenchconnection.bi/communaute-sql-business-intelligence/

Le Facebook : https://www.facebook.com/FrenchConnectionBI

Retour évènement – Lancement en ligne de SQL Server 2012

Un évènement en ligne, beaucoup de monde apparemment vu la lenteur du site à l’ouverture. Des petits problèmes de  Login et de latence …mais après quelques minutes tout fonctionnait bien.

Au programme, Key Note  de Ted Kunnert et Quentin Clark  et par la suite le choix entre 3 tracks. Pour ma part je suis resté dans la track Breaktrough Insights.

Je vous conseille de jeter un oeil  à la session de Dave Campbell.

Dans les autres sessions du PowerView, du Power Pivot, du DQS, du SSIS, du SSAS Tabular et d’autred sujets plus ou moins intéressants (HADOOP, Parallel DWH, DBA Oracle, CEP etc.).

Ce sont de courtes sessions 20-30 minutes, les intervenants vont droit au but par rapport au sujet, le tout est bien expliqué et illustré par des démos . Par exemple la session SSIS, comment expliquer beaucoup de changements en l’espace de 20 minutes.

Pour finir ce lancement, il ya un site web interractif et social.

J’ai bien aimé leur hall d’exposants virtuel, un hall qu’on aurait pu avoir en vrai, mais aussi leur partie sociale/Communautaire avec participation pour poser des question, joindres des mini Topics et discuter.

Le fait de participer à cet évènement vous permet d’accumuler des points et débloquer des Achievements : regarder toute les sessions BI, Regarder la Key Note, poser une question, visiter le stand d’un partenaire etc.

Ces points vous permette de gagner des levels  et des goodies comme une Xbox 360 + Kinect.  Le principe est cool, plus de détails sur cette partie : ici

Cela ne dure pas toute la vie, le contenu du site est disponible durant 90 jours je crois.

Il n’est pas trop tard pour participer, plus d’infos, enregistrez vous et connectez vous sur https://www.sqlserverlaunch.com

Et oui, la version finale de SQL Server 2012 est prévue pour le 1er Avril, en espérant que ce n’est pas une farce…

Installation VM BI Microsoft Windows Server 8, SQL Server 2012, SharePoint 2010

Cette année 2012 est une bonne année pour ce qui est des nouveautés dans le monde Microsoft en général.

J’ai pu me bâtir un environnement flambant neuf avec :

  • Windows Server 8 Beta
  • SQL Server 2012 RC0
  • SharePoint 2010

Liens pour télécharger l’ ISO de Windows Server 8 : http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx?ocid=&wt.mc_id=TEC_108_1_33

Note : Si vous utilisez VM Ware n’installez pas les VMWARE Tools même si certains articles montrent que cela fonctionne bien avec Windows 8 avec la version Server ce n’est pas le cas. Après installation des VM Tools l’affichage est boggué. Allez savoir pourquoi ? Driver graphique ?

Premières impressions installation Windows Server 8

Installation simple et rapide, juste penser à choisir une installation avec GUI afin de profiter de la toute nouvelle interface 😉

En parlant de cette interface…

Déjà le start up a changé dans le cadre de la BETA on retrouve ce fameux BETA Fish.

Avec Windows 7 on avait à l’époque celui là certes plus beau et la tête est de l’autre côté mais on garde l’esprit et les bulles ! (souvenir souvenir)

Bref..

Plus sérieusement cette nouvelle interface est agréable mais déroutante.

Tout à l’air plus léger, plus simple en allant de l’installation à l’identification de session.

Arrivée sur le bureau, premier choc ce bleu cyan pique un peu les yeux …

Le bouton DEMARRER n’existe plus. En effet  ce fameux menu démarrer laisse place à l’interface métro.

Plusieurs manières d’y accéder apparemment.

Soit avec la touche Windows du clavier

Soit en glissant la souris dans l’angle inférieur gauche.

Soit en glissant la souris dans l’angle inférieur droit qui fait apparaitre un menu.

Installation de Active Directory (dcpromo)

Partis pour mettre en place un envrionnement BI de toute dernière génération, je décide par habitude de mettre en place un Active Directory via la commande DCPROMO dans une invite de commande.

Une petite fenête m’informe que l’installation se fait désormais dans Server Manager.

DCPROMO n’est donc plus possible en cmd…la fenêtre indique un lien qu’ on ne peut pas cliquer… le voici :  http://technet.microsoft.com/en-us/library/hh472162.aspx#BKMK_GUI

Le Server manager à été revu, un beau splash screen pour commencer.

On arrive sur un dashboard, toujours dans le style métro. A partir d’ici on va lancer la procédure d’installation d’ Active directory.

Add Roles and Feature -> Next -> Role-Based or feature-based installation -> Next -> Select a server from server pool -> Next ->Sélectionnez Active Directory Domaine Services -> Add Features -> Next -> Next -> Next -> Install -> Close

Nouveauté on peut quitter l’assistant et l’installation se fait en tâche de fond,  un apperçu de l’avancé est disponicle dans l’icône alerte.

Une fois l’installation terminée il y aura une autre alerte pour configurer. Il suffit de cliquer sur  » Promote this server to a domain controller « .

Faites votre configuration dans mon cas :

Add a new forest
Donnez un nom de domaine
Next
Forest function Level : Windows 2008 R2
Domain functional Level : Windows 2008 R2
Domain Name System (DNS) server coché par défaut.
Next -> Next ->Next -> Next -> Next -> Install

Un redémarrage s’effectue…voilà on a installé Active Directory sur Windows Server 8.

Installation de SQL Server 2010 RC0 avec Windows 8 Server

L’installaiton se passe sans problème avec Windows Server 8.

Au moment où je termine cette article SQL Server 2012 est passé en RTM.

Plus d’infos ici: http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

Téléchargement : http://www.microsoft.com/download/en/details.aspx?id=29066

Installation de SharePoint 2010 avec Windows 8 Server

Avant de faire quoi que ce soit je vous conseille de rouler un script de Graig Lussier qui se trouve à cette adresse : http://gallery.technet.microsoft.com/SharePoint-2010-and-dee17600

Ce script va tout simplement vous sauver du temps car il met en place les pré requis.

  • Installation des Roles et des Features dans Windows 8 Server.
  • Modification de IIS pour SharePoint 2010
  • Téléchargement et installation des pré requis de SharePoint 2010

Avant d’exécuter le script, il faut changer la politique d’exécution des scripts powershell via la commande Set-ExecutionPolicy RemoteSigned.

A l’étape 4, après avoir téléchargé les différents pré-requis les installations vont se faire l’une après l’autre.

Pour plus d’information sur l’installation :http://craiglussier.com/2012/03/01/install-sharepoint-2010-on-windows-server-8-beta/

Mais ce n’est pas terminé. SharePoint 2010 ne va peut pas s’installer sur Windows Server 8.

L’installeur va tout simplement se bloquer pour cause de pré-requis, comme pas mal d’installations sur des nouveaux OS de Microsoft. Pour contourner cette étape, il faut télécharger le fichier disponible via le blog ci-dessous et le placer dans C:\Windows\System32

Plus d’infos ici : http://blog.hand-net.com/sharepoint/2010-06-10-error-lors-de-linstallation-des-office-web-apps-2010-sur-windows-7.htm

Ce n’est qu’ à partir de ce momemt que l’on peut installer SharePoint 2010.

Une fois le tout installé le menu Start de Windows Server 8 est bien rempli…. il faudra faire un ménage là dedans.

Il me reste plus qu’à tout configurer et installer des petites choses:

  • Business Intelligence Center
  • PowerPivot For SharePoint
  • Créer une instance tabulaire de SSAS
  • Voir comment SSRS est désormais intégré
  • Configurer PerformancePoint 2010
  • Configurer DQS
  • Installer office + Add In data Mining PowerPivot et MDS
  • Jouer avec PowerPivot 2 et PowerView et peut être participer au PowerView Contest

Que du bonheur !

Report Builder 3.0 SharePoint 2007 + IE 9

Symptômes et solution

Travaillant en ce moment sur un environnement SharePoint 2007 avec SSRS 2008 R2 en mode intégré, je devais modifier un rapport avec ReportBuilder 3.0.

En éditant le .rdl dans SharePoint, je me suis retrouvé avec un le message suivant :

« To use Report Builder, you must install .Net Framework 3.5 on this computer » 

Après vérification de mon poste, j’avais bien le Framework 3.5  d’installé. Il s’avère que ce problème viendrai de  Internet Explorer 9 et du mode vue de compatibilité.

Un clic sur cette icône de page déchirée permet de résoudre ce problème et l’application clickOnce de ReportBuilder se lance. 🙂
A votre prochaine visite une fois RB 3.0 téléchargé il n’y aura plus de message.

SSIS – Charger une dimension hiérarchique style Employee (Initial, Incrémental, SCD Type 2)

Récemment on m’a demandé de me pencher sur ce cas. En prenant en compte certains pré requis

Le tout consiste à charger une dimension Dim_Employees avec prise en compte du Slowly Changing Dimension de Type 2. Le SCD s’active lorsque le manager change.

Considérations de l’exercice.

  • Utiliser le plus possible SSIS
  • Prendre en compte le composant SCD Natif
  • Le volume de données est faible (de l’ordre du millier)
  • Ne pas changer la structure des tables
  • Pas de tables temporaires

Ci-dessous la structure des tables. Rien d’extraordinaire, noté juste la présence des clés (EmployeeKey et ParentEmployeeKey) de la source dans la destination. Elles sont préfixé par src_ .

Comment on charge  ?

 » On charge les managers puis les autres » –> Bouing !
 » On charge les employées puis les managers » –> Presque !

Une voir LA réponse : On charge tout le monde sans les managers puis on affecte les managers.
La colonne manager acceptant les valeurs NULL on peut la laisser sans valeur.

Note : Dans le cas ou cette colonne était NOT NULL il aurait fallu mettre une valeur par défaut comme -1. Cela voudrait dire que chaque employé possède un manager, et voir la possibilité qu’un employé soit manager de lui même si il n’a pas de manager. Bref…

Le traitement s’effectuera en deux passes, on charge tous les employés (peu importe qu’ il soit manager ou pas) puis on assignera les managers via un Update.
Mais….
il faut prendre en compte du SCD sur le manager, si on fait notre UPDATE alors le  SCD va s’activer, cela aura pour conséquence de créer une nouvelle ligne. Oui c’est vrai mais ne l’oublions pas on a toujours un scénario de chargement Initial et un scénario Incrémental.

En effet lors du chargement initial le SCD ne sera pas appelé, par contre dans l’incrémental il faudra l’utiliser.

Ce qui donne un package de ce genre :

Explication rapide :
Le composant  SQL_Count_Row va faire un COUNT sur la table de destination et stocker la valeur du count dans une variable SSIS. Il y a des vérifications par la suite si le Count retourne 0 alors c’est un chargement Initial si le count est supérieur à 0 alors on est dans un chargement Incrémental.

Note : Dans un développement ETL avec SSIS, plusieurs manières de gérer le chargement initial et le chargement incrémental. On aurait pu développer deux packages différents pour chaque scénarios : Un package initial et un package incérmental. On aurait alors soit un package Master pour chaque type de chargement soit un seul package master et des tables de configurations pour gérer les types d’exécution des packages.

Chargement Initial

Le Sequence Container SEQ_Initial_Load, contient deux tâches de flux de données.

Le premier (DFT_Load_All_Employees) est tout simple il insère les employés en laissant la colonne Manager_Id à NULL.

Le second (DFT_Affect_Manager_To_Employee) est un peu plus complexe. Il y a un double Lookup pour assigner le bon Manager_Id en se basant sur le nouvel Employee_Id généré par la table.

Détail du premier Lookup (LKP_Employeed_Id)

Détail du second Lookup (LKP_Manager_Id)

Etat des données :

A la source :

Après l’exécution du DFT_Load_All_Employees

Après l’exécution du DFT_Affect_Manager_To_Employee

Chargement Incrémental

Si on exécute le package par la suite il ira dans la branche incrémentale.

Explications :

Le premier lookup (LKP_DESTINATION) va juste vérifier si l’enregistrement existe. Il va comparer les clés de la source avec la clé naturelle de la destination. Si il n’y a pas de correspondance alors c’est une insertion d’un nouveau record (DST_Insert_New_Employees).

Note du 7 Mars : Après revisite de la solution il manque un lookup avant d’insérer un nouvel enregistrement. Ce lookup va récupérer l’ID du manager un peu comme dans le chargement initial.

 Si il y a correspondance alors l’enregistrement existe dans ce cas là on laisse le SCD gérer le changement.

Configuration du composant SCD_Manage_Data :

Le dernier lookup (LKP_Manager_Id) est nécessaire ici car il re assigner le nouvel ID du manager en récupérer son Employee_ID.

Détail du Lookup :

Note : La sortie du composant SCD New Output peut être supprimé elle ne sert à rien étant donné que le premier lookup gère les nouvelles entrées.

Test

On change les données de la source.

On exécute le package.

Résultats dans la destination :

Conclusion

Un article assez long pour un sujet sensiblement facile aux premiers abords.

Le chargement de données dans un entrepôt de données est un art, pour réaliser cette oeuvre il faut jouer de différentes techniques.
La prodédure décrite dans cet article permet de remplir les objectifs dans un certain contexte. Différents facteurs peuvent intervenir et de ce fait l’approche peu changer. Tout de même certains principes demeureront à jamais. Un data warehouse connait un chargement Initial et un chargement incrémental, il faut donc adapter le développement pour chacune de ces phases. Les problématiques et les questionnements peuvent trouver leurs solutions tout simplement en leur mettant dans le contexte associé.

Microsoft BI, BIG DATA, HADOOP, HIVE, SQOOP – Kézako

Le monde de la Business Intelligence évolue et les solutions s’adaptent. Des mots comme BIG DATA, HADOOP, HIVE, SQOOP sont utilisés dans certains discours.
Cet article aura pour but d’expliquer succinctement ces termes, une sorte de mini sensibilisation.

BIG DATA

Le BIG DATA n’est rien d’autre qu’ un concept. Les défintions sont variées car ce concept évolue ce qui a pour effet de flouter ses caractéristiques.
A l’origine BIG DATA est associé à un très très grand volume de données, on parle là de plusieurs Teraoctets, des Peta et voir plus encore.
Les premiers acteurs du BIG DATA sont les moteurs de recherches dont Google est l’un des premiers précurseurs.

Les données quant à elles sont de nature différentes : on a d’un côté les données structurées, traditionnellement stockées dans les bases de données relationnelles et multi dimensionnelles. Et d’un autre côté des données non structurées qui sont plus difficiles à traiter, on y trouve des fichiers (pdf, mail, ppt, vidéos etc…), Internet : des informations des réseaux sociaux, informations dans le cloud etc.

Pour faire simple le BIG DATA représente la gestion et la manipulation de l’ensemble des données structurées et non structurées qu’une compagnie possède, génère et recherche.

Note : On peut aussi entendre le concept de No-SQL qui signifie Not Only SQL. Cela signifie que les données sont  traitées d’une manière différente que dans un schéma relationnelle classique. On parle alors d’une structure de base de données capable de traiter les gros volumes de données, le fameux BIG DATA.

HADOOP : HIVE, SQOOP

HADOOP est un projet Open Source d’ Apache écrit en JAVA. C’est un framework libre qui permet de gérer le BIG DATA à travers de différents outils. HADOOP stocke les données dans le système de fichier en utilisant HDFS (Hadoop Distributed File System). Plusieurs composants existent dans HADOOP : HIVE, SQOOP, HDFS, Pig, MapReduce, MAHOUT etc. et chacun assure une fonction.

HIVE permet de centraliser du BIG DATA, il joue le rôle de source de données principale de type data warehouse (en File System). On a la possibilité de chercher des informations grâce à des rêqûetes HiveQL.

SQOOP permet d’échanger des données entre entre HADOOP et SQL Server. Microsoft propose des connecteurs HADOOP, vous pouvez les télécharger à partir du lien ci-dessous :

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

Avec des lignes de commande on pourra soit exporter des données depuis HADOOP soit importer des données de SQL Server dans HADOOP. D’après le guide d’utilisations les actions permises sont les suivantes :

With SQL Server-Hadoop Connector, you import data from:

  • tables in SQL Server to delimited text files on HDFS
  • tables in SQL Server to SequenceFiles files on HDFS
  • tables in SQL Server to tables in Hive*
  • result of queries executed on SQL Server to delimited text files on HDFS
  • result of queries executed on SQL Server to SequenceFiles files on HDFS
  • result of queries executed on SQL Server to tables in Hive*

Note: importing data from SQL Server into HBase is not supported in this release. With SQL Server-Hadoop Connector, you can export data from:

  • delimited text files on HDFS to SQL Server
  • sequenceFiles on HDFS to SQL Server
  • hive Tables to tables in SQL Server

Humour – What U Think I Do

Il est dimanche …il faut se relaxer et rire un peu.

Je ne sais pas si ce « meme » fait fureur en France, mais en tout cas il envahit les réseaux sociaux.

Je trouve le principe assez marrant et je me suis pris au jeu….

En voilà un concernant les consultants en Business Intelligence.

Bon dimanche et bon courage pour la semaine qui arrive.

Retour des Techdays 2012 à Paris

Cela fait un petit moment que je n’ai rien publié sur mon blog. Nouvelles responsabilités et déplacement à droite à gauche oblige….
Me revoilà de retour de Paris (encore) plus exactement des fameuses Techdays 2012.
Je me suis dit qu’un jour j’assisterais à cet évènement au lieu de les regarder en webcast 🙂 … Voilà c’est fait !

Mon impression générale est plutôt bonne mais je suis convaincu qu’il y a eu et qu’il y aura de meilleurs Techdays. J’ai pu assister aux 3 plénières et aux divers sessions SQL/BI.

Journeé 1 : Plénière développement.
Le concept « World of Developpers » était certes un peu « … ». J’entends par là que les avis sont partagés. Mais personnellement je trouve cela bien d’animer une session autour d’un scénario cela rend dynamique et cela casse un peu le trin trin quotidien.
Oui il est vrai qu’il y a des décideurs dans la salle, des analystes, des chef de projets des personnes qui sont loin de ce « trip » mais il y a également les autres. Et pour être franc même si le scénario n’ était pas terrible au commun des mortels l’animateur, les démos et les speakers ont été bons ! Pas mal d’ambiance (blagues, rires et applaudissement) on sentait qu’il y avait du plaisir à la fois sur scène mais aussi dans le public.

Petit clin d’oeil à Fier d’être développeur  😉

Journée 2
Plénière qui semblait être la plus intéressante sur le papier. Le thème « Les utilisateurs prennent le pouvoir ». Je n’ai pas senti ce thème apparaitre dans la présentation.
C’était un peu un carrefour des produits…sans insister sur un sujet précis.
L’animateur parlait bien, les intervenants aussi. Mais je ne sais pas, j’ai trouvé cette plénière moue.
Loin de mes attentes, un discours trop marketing ? Les interactions avec les différents intervenants trop classiques et sans valeur.
Bref ce n’était pas vivant à juger par les non applaudissements du public à chaque entrée et sortie des speakers.
C’est dommage, le contenu était bon la forme par contre aurait pu être mieux.

Journée 3 : Plénière sur le futur
Un animateur que dis je un poète ! Ce n’est pas la première fois que je reste respectueux face à ce monsieur, qui pour moi assure son rôle de père médiateur et donne tout un autre au sens aux technologies grâce à son discours.
La plénière du 3 eme jour est connu pour être différente… Les sujets était très intéressants ! Mais cela reste du domaine du « bon à savoir ».

Sessions techniques

J’ai assisté durant ces 3 jours à :

  • Sécurité SQL Server : Les principes de base et les fondamentaux, bon retour d’expérience des intervenants.
  • BISM ou UDM : Session présentée aux Journées SQL Server mais simplifiée pour les Techdays.
  • Data Explorer : Session très interessante
  • MDS : Session intéressante mais gachée un peu par le manque de dynamisme.
  • DQS : Session plutôt difficile dû certainement au créneau (dernier jour, derniere heure).

et bien d’autres encore….

Globalement certaines sessions était très bien ficelées d’autres étaient plus classiques et simples mais dans tout les cas l’information passait bien.

J’ai pu retrouver des gens rencontrés lors des journées SQL Server : Florian Eiden, Charles Henri Sauget, David Joubert, Jean Pierre Rhiel , François Jehl … Toujours un plaisir d’échanger avec vous !
Le hall des stands, beaucoup de  sociétés et beaucoup de personnes, une vraie pépinière d’opportunités pour tout le monde.

Des impressions et des prédictions ….

Mon sentiment personnel, SQL Server 2012 sera (bien) accueilli par les entreprises…
Power view à susciter pas mal de bonnes réactions . Il faudra s’attendre à pas mal de demandes sur le sujet.
DQS pourra offrir des portes intéressantes que cela soit pour SSIS ou MDS.
Les utilisateurs participeront davantage à la BI (Self Service renforcé, Utilisation d’Excel comme point de consommation et de création etc…).
Data Explorer est un outil intéressant mais reste à définir qui va l’utiliser et comment l’implémenter. Et aussi combien sa coûte ?
Sharepoint et SQL Server sont plus que jamais liés pour la vie…si on fait de la BI Microsoft il faudra connaitre (inévitablement) Sharepoint.

A nous de jouer maintenant.