Comment la BI Microsoft est en train d’évoluer !

 

BI on-demand, Big Data, Cloud, Mobilité, Machine Learning, Social BI…. Décryptage !

 

Cet article a pour but d’expliquer l’évolution actuelle et à venir de la Business Intelligence Microsoft et de décrypter son écosystème pas si simple à appréhender. En effet l’émergence du cloud, de la mobilité, des «  big data » (réseau sociaux, e-commerce…) et de l’analyse qu’on peut en faire, le tout associé aux demandes avec des délais de plus en plus cours de la part des décideurs ont fait naître de nouvelles technologies de Business Intelligence plus modernes et qui pour certaines sont parfois en phase transitoire et en mode « preview ».

L’écosystème se découpe en 4 domaines et un ensemble d’outils associés comme le montre le schéma d’ensemble ci-dessous :

 

 

 

 

_MSBI

 

 

La BI On-Premise (traditionnel) :

Depuis plus de quinze ans Microsoft fait évoluer ses outils décisionnels « On-Premise » autour de SQL Server pour permettre aux sociétés de mettre en place eux même une solution décisionnelle d’entreprise centralisée, robuste et évolutive, en harmonie avec l’infrastructure locale existante et qui répond à des exigences à la fois de sécurité, de performance mais aussi de budget.

Traditionnellement, pour la conception d’un environnement décisionnel, une société peut faire appel à l’IT, on parle alors pour une solution « Corporate » d’entreprise. Mais un utilisateur final souvent appelé « Power User » peut également mettre en place une solution et devenir autonome dans la totalité ou une partie des phases d’un projet, de la conception jusqu’au déploiement.

Dans le dernier cas on parle souvent de solution BI « On-demand » ou « Self-service » et parfois personnelle si elle est conçu intégralement par l’utilisateur.

La suite d’outils BI traditionnels, et ceux-ci autour de la SQL Server, est composée :

  • Du moteur de base de données : SQL DB Engine
  • De l’ETL : SSIS
  • Du moteur d’analyse multidimensionnel : SSAS
  • Du serveur de rapports : SSRS

Pour la BI « On-Demand », Excel est l’outil de prédilection.

 

_BIOnprem

 

 

 

La BI « Corporate » :

Avec SQL Server et depuis la version 7.0, la plateforme BI Corporate de Microsoft est en perpétuelle évolution toujours dans un but d’être plus robuste, performante et avec de nouvelles fonctionnalités souvent inédites.

 

Aujourd’hui nous en sommes à la version SQL Server 2014 maintenant orientée « Hybrid Cloud » pour faciliter de manière transparente la gestion du stockage, des sauvegardes ou des transferts des données que cela soit sur site ou dans le cloud.

Microsoft a également conçu et développé depuis la version SQL Server 2012 un nouveau moteur d’analyse « In Memory » qui rend plus puissant le traitement des données, les calculs d’agrégats et des formules d’analyse en mémoire, ainsi que la restitution et l’analyse de données autant fines et « Tabulaire » qu’agrégées et en tableau croisé.

De plus, un nouveau type d’index « Column Store Index » permet d’améliorer considérablement les performances de chargement des entrepôts et son requêtage.

Enfin, SQL server permet de réindustrialiser dans SSAS les données provenant des cubes « On-demand », que nous verrons plus loin, conçus avec « Power Pivot », stockées en local dans Excel, de les exposer dans SharePoint pour donner la possibilité à l’utilisateur final de concevoir directement dans un site des analyses ad-hoc grâce au composant de « Data Vizualisation » « Power View » issu de SQL Server et intégré à un service SharePoint 2013.

 

En complément, pour permettre aux utilisateurs de mieux collaborer, la solution SharePoint 2013 permet, en plus de ce qu’on a vu au-dessus avec « Power Pivot » et « Power View »,  la mise en place de portail décisionnel, le partage des classeurs Excel d’analyse, l’intégration des rapports SSRS et l’utilisation des fonctionnalités intrinsèques à SharePoint comme par exemple la GED,  les intranets, les réseaux sociaux d’entreprise… Un petit plus dans SharePoint avec Power View : la possibilité d’exporter les « Dashboards » dans des slides Power Point en conservant l’interactivité et la possibilité de mettre à jour les données au sein d’une présentation.

Un service appelé « Performance Point » qui intègre entre autre l’outil d’analyse racheté à la société « Proclarity » n’est plus mis en avant.

 

_Collab

 

 

Dans la gamme des outils « On-Premise », un nouveau « petit » vient de naitre, il s’appelle « DataZen », il vient d’être racheté par Microsoft, il est fourni gratuitement à partir de la version SQL Server 2008 édition Entreprise avec la Software Assurance.

Comme « Reporting Services », « DataZen » est un outil de restitution, il comporte un « Publisher » pour permettre à l’IT de concevoir des rapports avant les déployer coté serveur.

Par contre, contrairement à « Reporting Services », « DataZen » est un outil orienté « Multi-device » et permet par exemple d’analyser des données sur tout type de tablettes ou smartphones (Windows, iOS et Android), puisque qu’il est compatible HTML5.

De plus, il a été conçu pour faire du « Dashboarding » plus que du « Reporting » opérationnel et fait partie de la gamme d’outil d’analyse visuelle de « Data Visualization ».

Enfin, il offre intrinsèquement la possibilité de faire de la BI collaborative en gérant des flux de commentaires entre les utilisateurs.

Petit bémol, il ne comporte pas comme « Reporting Services » les fonctionnalités de « push mail »  automatisé, l’intégration à SharePoint et le « Data Alert ». Par contre il permet contrairement à Power BI pour le moment de faire des analyses en mode déconnecté.

 

_Datazen

 

 

 

On voit bien que Microsoft a construit au fil du temps une véritable plateforme BI On-Premise solide et avec des évolutions permanentes. Aujourd’hui, IT ou l’utilisateur final bénéficie de toute l’expérience de l’éditeur, de la maturité et la robustesse de sa solution pour mettre en place ou utiliser un système d’information décisionnel d’entreprise accessible depuis partout (tablette, smartphone…) et en mode collaboratif.

 

 

La BI « On-Demand » :

Excel, l’outil idéal pour d’analyse des données « On-demand » a bien évolué. Si on regarde en arrière, avec la version Excel 2003, pour faire de l’analyse avec une connexion OLAP, on se restreignait qu’à un simple tableau croisé dynamique (« Pivotable »). Aujourd’hui avec Excel 2013, on a une véritable solution complète de Business intelligence personnelle avec ses outils permettant à l’utilisateur final de concevoir, comme avec l’IT et SQL Server, sa propre solution en libre-service composée :

  • D’un ETL : Power Query
  • D’un moteur d’analyse et son « Modeler » : Power Pivot
  • De deux outils de « Data Vizualisation » : Power View et Power Map pour l’aspect Géospatial

La philosophie de « Power View » et « Power Map » est de mettre en place comme Power Point un scénario, « Story Boarding » avec des slides, dans le but de faire une présentation issue de sa propre analyse et de faire en quelque sorte « parler les chiffres » ou faire du « Story Telling ».

Cette présentation peut être du « One-Shot » et être exposée qu’une seule fois par exemple à un Codir. D’où l’utilité en la mettant en œuvre rapidement avec Excel, outil très familier de l’utilisateur final, de ne pas passer par des cycles de conception et développement avec des délais qui peuvent parfois être annoncés comme importants par l’IT.

Par contre dans le cas où cette solution nécessite d’être stable, pérenne, sécurisée et partageable, il faut la réindustrialiser de Excel vers SQL Server grâce à des outils d’ « Import » qui existent.

 

_Collab2

 

 

 

La Business Intelligence dans le « Cloud » :

L’évolution des services dans le cloud, notamment autour de l’offre Azure de Microsoft, permet à l’IT maintenant d’une manière transparente de disposer de coûts d’administration mieux maîtrisés. L’infrastructure technique et applicative est plus robuste, performante et évolutive. Enfin les cycles de mise à jour sont plus courts et les opérations de maintenance et l’hébergement sont gérés directement par Microsoft.

 

Trois solutions vont être décrites dans la suite de cet article:

« IaaS »: Infrastructure as a Service

« PaaS »: Platform as a Service

« SaaS » : Software as a Service

 

La solution SaaS Power BI :

Elle permet de concevoir simplement une solution personnelle de Business Intelligence depuis Excel, avec les composants Power Query, Power Pivot, Power View, Power Map. Mais aussi depuis un concepteur dédié appelé « Power BI Designer » ou « On-Line » à partir du site powerbi.com avec un espace dédié et un compte associé.

Office 365 comporte également un site dédié Power BI où sont publiés et visualisés les rapports.

Les utilisateurs se connectent à des sources de données sur site ou dans le cloud pour mettre en œuvre plusieurs rapports et peuvent également les imbriquer simplement dans des « Dashboards ».

Plusieurs connecteurs sont nativement fournis comme par exemple Analysis Services, Salesforce, Univers Business Object, Dynamics CRM, Azure….

 

_CaptureDash

 

 

Une fois la solution publiée sur le site powerbi.com, les utilisateurs pourront depuis un mobile (iPhone et Windows Phone pour le moment) ou d’autres « Devices » se connecter à la solution pour visualiser leurs « Dashboards ».

Des fonctionnalités avancées existent également :

 

– « Q&A ». Une fonctionnalité de requêtage en langage naturelle (uniquement en anglais pour le moment) qui permet de poser des questions Ad-hoc sans connaissances techniques.

– «Data Refresh » permet de planifier la mise à jour des données au sein des rapports.

– « Data Management Gateway » permet de se connecter depuis le cloud à des sources « On-Premise » comme des cubes SSAS.

– « Data Catalog » permet d’exposer les données des rapports dans le cloud pour en faire des sources pour d’autres utilisateurs concevant des rapports.

 

 

powerbi4

 

 

Aujourd’hui Power BI existe en version Preview car il est en perpétuelle évolution, il peut être mis en œuvre et utilisé gratuitement, sauf si vous voulez utiliser les fonctionnalités avancées ci-dessus ou si vous dépassez la capacité limite de 1Go de stockage de données, d’un débit de 10k rows/ heures ou de cycle de rafraîchissement des données de plus de un jour. Dans ce cas le coût actuel est de 9,99 $ par utilisateur/mois.

L’intégration dans l’environnement Microsoft avec un « Designer » très convivial et ergonomique, la conception BI possible depuis Excel , des composants graphiques très riches, des « Dashboards » dynamiques et interactifs, des connecteurs très variés, la publication sur des mobile et tablettes, les cycles MS de mises à jour très réguliers font de Power BI LA solution personnelle et complète pour faire de la « Business Intelligence » « On-demand ».

Face aux solutions concurrentes Tableau Software et Qlik (ex QlikView), Power BI n’a rien à se reprocher.

 

 

La BI Mobile :

Avec les deux solutions « Power BI » et « Datazen » la mobilté cross-plateform est possible. Selon les usages, vous pouvez utiliser l’un des deux outils. « Power BI » est idéal pour le Cloud en mode connecté, gratuit selon certains critères ou avec un système d’abonnement et « Datazen » pour une infrastructure sur site et en mode connecté ou déconnecté, il est inclus dans les licences SQL Server avec la « Sofware assurance » Microsoft.

Une différence importante : pour concevoir un rapport avec Power BI, l’utilisateur n’a pas besoin d’être développeur, il peut le créer dans Excel ou le Power BI Designer. Pour « Datazen », il faut être développeur et être formé sur le « Datazen Publisher ».

 

 

mob

 

 

 

La Business Intelligence dans Azure (IaaS et PaaS) :

Autour des services de données PaaS et de la possibilité d’utiliser des VM dans des infrastructures  IasS ou des « Appliances » va simplifier le travail des administrateurs sur site et offrir des possibilité inédites pour faire par exemple des traitements de « Big Data » ou alors du Machine Learning sur des « Datacenters » mutualisés, ultra-puissants où la mise à jours des services pourra s’effectuer plus simplement.

L’offre IaaS :

Elle offre la possibilité de porter simplement son infrastructure local dans le cloud dans des VM et de pouvoir la superviser à distance et sans avoir à supporter les coûts de maintenance associés.

 

Les appliances APS :

APS ex PDW a été conçue conjointement par Microsoft et des architectes « Hardware » pour offrir la meilleur performance en MPP (Massive Parallel Processing) au sein d’une appliance. Elle offre également la possibilité d’intégrer sous le nom de HDInsigt le moteur NoSQL d’Hadoop pour des traitements « Big Data » et d’offrir au travers du moteur « Polybase » la possibilité de faire des requêtes en langage SQL pour ensuite exposer les données à des fins d’analyse.

 

L’offre PaaS :

Plusieurs  services de données ont été mis en œuvre dans Azure et sont accessibles via son portail. Ceux-ci sont mis à jour régulièrement et certains sont encore en mode « Preview ».

Pour le traitement des « Big Data », Microsoft a intégré dans sa plateforme Azure le moteur Hadoop de la société HortonWorks bien connu pour son architecture de données distribuées, HDFS, sous le nom de « HD Insight ».

Avec HD Insight », sont remodelés, la création de clusters pour la parallélisation des traitements de données, la mise en œuvre des process « Map/Reduce » pour tout type de transformation comme l’agrégation  ou le  nettoyage de données déstructurées comme par exemple le comptage de l’occurrence de mots parmi une multitude de messages comme des tweets, de sms ou flux RSS.

Pour ce faire le service ELT « Azure Data Factory » avec une interface très conviviale, permet d’ordonnancer tous ces traitements, il permet d’extraire des données sources, d’appeler des transformations en passant par des bibliothèques qui s’appuient sur les fonctions « Map/reduce » pour simplifier l’écriture du code. Par exemple « Hive » pour exécuter des traitements SQL DDL (CREATE…) ou DML (SELECT…) ou alors « Pig » pour appeler comme dans un ETL des fonctions de transformations (Agrégation, comptage, boucles,…) et enfin les charger dans des « Data Warehouses ».

Pour la gestion des entrepôts le service « Azure SQL Data Warehouse » peut être utilisé pour mieux exposer ses données à des outils d’analyse comme SSAS ou Power BI.

Dans le cas de besoins d’analyse ou monitoring temps réels et pour une prise de décision rapide, le service « Azure Stream Analytics » permet de traiter des flux de données très volumineux et avec un débit important comme des « Click Streams » provenant de site internet e-commerce par exemple, de les ingérer, les regrouper, agréger ou filtrer grâce à une bibliothèque de fonctions proche du SQL, pour ensuite les exposer à des fins d’analyse avec Power BI ou de Machine Learning. « Azure Stream Analytics » peut s’appuyer sur les services d’Azure de files d’attente « Event Hub » et « Services Bus ».

Enfin avec le service, « Azure Machine Learning », les « Data Scientists » peuvent faire de l’analyse prédictive dans le cloud et exposer leur résultats à des outils front ou des process via à un appel de « Web services ». Ce service permet de créer dans un concepteur dédié, appelé « ML Studio », des unités de traitement appelés expériences comportant une boite à outils pour créer des jeux de données sources, évaluer des modèles, les entrainer ou faire du « Scoring »,  effectuer tout type de transformations en mode graphique comme on le ferait avec SSIS mais d’utiliser aussi le langage R pour le faire et enfin produire les résultats statistiques et de probabilités.

 

 

_Azure3

 

 

 

Pour mettre en œuvre tous ces services il existe un système d’abonnements dont le coût varie selon un ensemble de paramètres comme la volumétrie, le temps, le débit….

 

Vous constatez  que maintenant, avec l’offre PaaS BI dans Azure, il existe un kit de services clef en main de plus en plus matures, robustes et performants pour traiter des données de  Business Intelligence en Back Office surtout pour des process associés au « Big Data » au temps réel et au « Machine Learning ».

 

 

 

A venir :

Comme vous avez pu le constater, le paysage autour de la Business Intelligence Microsoft c’est pas mal transformé depuis ces derniers temps et il continue encore. SQL Server 2016 est annoncé avec de nouvelles évolutions comme l’unification de « BIDS » et « SSDT », l’intégration de HDInsight et Polybase qui n’étaient actuellement que dans APS ou Azure, la possibilité d’intéragir avec Azure Data Factory depuis SSIS, des nouvelles fonctionnalités de « Data Vizualisation » dans SSRS et la possibilité de publier des .rdl dans le site Power BI. Du nouveau également dans SSAS Tabular puisque les relations « many to many » seront supportées et enfin des évolutions autour de SSAS multidimensionnel et MDS.

Concernant les outils « Front », une nouvelle version d’Excel dans Office 2016 est à venir où Power Query va maintenant être natif à Excel, la possibilité maintenant de créer un rapport Power View sur des cubes SSAS multidimensionnels et d’autres fonctionnalités qui seront probablement annoncées bientôt.

 

Ce qui reste à améliorer :

La BI MS a encore de beaux jours devant elle, par contre l’offre peut paraître encore « décousu » et pas forcément simple à comprendre tant au niveau des usages, que du mode de licensing.

Par exemple, si l’utilisateur demande une publication de son modèle « Power Pivot » dans SharePoint, on s’aperçoit que le mode de licencing est complexe et qu’il faut composer entre les licences d’Excel 2013, de SQL Server mais aussi de SharePoint.

De plus, il faut un travail important de pédagogie envers l’utilisateur qui ne comprend pas pourquoi il y a autant d’offres. Par exemple, il peut être perdu avec les outils de « Data Vizualisation »: SSRS, Datazen, Power View…. donc il faut lui expliquer les correspondances qu’il y a entre les usages qu’on peut en faire et les outils associés.

Enfin, dans un composant comme Power View qui est distribué à la fois dans Excel et SharePoint On-premise, il peut y avoir des petits plus qui sont dans l’un mais pas dans l’autre, par exemple l’export vers Power Point qui n’est que dans SharePoint. De plus les composants Power BI d’Excel 2013 et du Power BI Designer ont été découplés mais les fonctionnalités sont beaucoup plus avancées dans le dernier.

 

Pour conclure :

Comme on vient de le voir avec les outils de « Data Vizualisation », les enjeux à venir de Microsoft vont être de les faire converger pour en faire une offre homogène, multi-usage, en plus d’être muti-device et cross-platform.

De même, une convergence entre le cloud et le « On-Premise » doit continuer à s’installer autour de l’hybride : faire en sorte homogénéiser les outils, les échanges de données ou de process inter plateformes, où tout sera transparent pour les développeurs, administrateurs, DBA, Data Manager ou Stewardship, Business Analyst, Power User, et utilisateur final, et où ils ne s’apercevront plus de la différence entre concevoir ou consommer de la BI sur un PC ou un mobile, « On-Premise » ou dans le cloud.

 

 

Sébastien MADAR

MVP SQL Server

 

 

#PASSBAC 2015 – Day #1

PASSBAC2015

Pour une fois, les annonces ne sont pas venues de la Keynote, mais de la session de Miguel Llopis intitulée « Data Hunters & Gatherers: Discover, Acquire, and Transform Your Data with Power Query »

  • Power Query sera disponible sur toutes les versions d’Excel et non plus réservée à l’Office Pro Plus, exceptés quelques connecteurs qui ne seront disponibles que sur la version Pro Plus.
  • Sur la version Excel 2016, actuellement en Public Preview, Power Query
    • sera intégré et supportera les requêtes VBA et l’enregistrement de macro
    • supportera les actions undo/redo
    • supportera le copier/coller même d’un classeur à un autre
    • sera mis à jour régulièrement et pas uniquement à chaque montée de version Office
  • Quant à la version actuelle, la mise à jour de Mai intégrera :
    • Le support de OData V4
    • L’usage d’authentification ADFS custom
    • La possibilité de désactiver les prompts « native database queries »
    • L’usage de Windows credentials alternatif pour exécuter les requêtes
    • Et de nouvelles transformations (la fonction mediane pour les opérations Group By et Aggregate Column, la conversion de DateTimeZone en LocalTime et la possibilité de supprimer les lignes vides)

Pour les autres sessions suivies dans la journée, j’ai appréciée:

  • la session de Jen Underwood intitulée « Best Practice Mobile Dashboard Design  » et plus particulièrement les démos effectuées sur DataZen
  • la session de Marc Reguerra et Jeff Lumpkin intitulée « The Valued Analyst: From Data to Insight in 60 Minutes » pour leur dynamisme, leurs conseils et l’originalité de leurs démos Power BI

Deux sessions que je détaillerai, prochainement, plus précisément.

Entre deux sessions, j’ai pu aussi me balader dans l’espace exposant et m’intérresser plus particulièrement aux solutions proposées par deux d’entre eux :

  • Pyramide Analytics qui propose une solution front BI intéressante
  • et SQL Sentry, qui n’est plus a présenté, mais qui propose une solution de monitoring plus sexy et bien plus légère que celle proposée par Microsoft avec SCOM

Fred.

[Techdays 2014] Power Query Demos Extravanganza

Session du Mercredi 12 février 2014 : 12h15 – 13h00

Thèmes : Le Nouvel Office : solutions de communication et collaboration

Intervenant : Jean-Pierre Riehl

Niveau : Expert (400)

Résumé : Session 100% queries ! Jouons avec les données et poussons Power Query à ses limites pour savoir s’il est digne de porter le nom de Self-Service ETL. Attention, code M Inside… Level 400 / 100% Démos.

 

Dans cette démo très intéressante, Jean-Pierre Riehl nous a présenté les capacités de power BI par l’intermédiaire de plusieurs mini projets composés par lui-même autour de sujets abordés lors de ses « repas dominicaux ».

Power Query est un add-in Excel 2013. C’est un self-service ETL. Il fait partie de la suite POWER BI.

Power Query  a pour objectif de charger des data model pour les utiliser dans POWER PIVOT.

Comme SSIS, il permet de se connecter à de nombreuses sources de données afin de les charger dans Excel et plus particulièrement dans la partie Tabulaire de la partie POWER BI (POWER PIVOT).

Power Query a pour particularité d’incorporer des outils permettant de transformer les données à la « volée » avant le chargement.

Comme sur SSIS la transformation apparait sous forme d’étapes et permet d’effectuer des tâches telles que l’ajout, la suppression et la transformation de colonne ou la transformation de données.

Power Query permet de créer des procédures et des fonctions permettant de simplifier et d’automatiser certaines tâches de traitement de données (mode « avancé » de l’outil nécessitant de maîtriser le langage M).

Dans ses différentes démos, Jean-Pierre Riehl nous a montré les capacités d’intégration et de transformation des données présente dans Power Query.

Actuellement le « point faible » de power Query reste l’automatisation, qui nécessite de passer par la partie Cloud pour automatiser l’exécution des tâches et le partage de sources de données.

Voici quelques notes sur les démos de sa session :

  • Démo d’extraction de données via une page web
  • ETL visible sur le Query editor dans la partie « Applied steps » (Les « Queries » sont éditables à partir du « workbook queries »)
  • Export des données vers Power Pivot grâce à la case à cocher « Load to data model » dans les « Load settings » sur le Query editor
  • Possibilité de charger plusieurs fichiers contenus dans un dossier sans passer par une boucle For
  • Le chargement des données (affichage) se fait à la volée ce qui permet à l’outil d’être plus rapide (affichage du TOP)
  • L’add-in MDS permet à l’utilisateur d’ajouter/supprimer des données
  • Concernant le mode avancé de Power Query : cet outil n’est pas destiné à un utilisateur métier à moins de leur « prémâcher » le travail en leur mettant les formules à disposition.

Points forts : Intégration de données, inclus dans la suite « Power BI », connecteur a de nombreuses sources de données et surtout de nouvelles formes : Facebook, Twitter, oData …

 

Liens  :

[Techdays 2014] Venus des nuages, les héros de la BI

Session du Mercredi 12 février 2014 : 15h15 – 16h

Intervenants :

  • Caroline Morillot (Microsoft France)
  • Emilie Beau (Microsoft France)
  • Franck Mercier (Microsoft France)
  • Ilana Cohen Bengio (Microsoft France)

Niveau : Intermédiaire (200)

Résumé : Nouvelle puissance, nouveaux pouvoirs, venez découvrir lors de cette session dégantée, présentée par des super héros, toute la BI dans le Cloud. Grâce à Azure et Office 365 Power BI, ils relèveront tous les défis… Venez nombreux des Goodies seront à gagner !

2014-02-12 15.43.14

On a pu voir lors de cette session très intéressante, 3 Démos des Powers BI Rangers qui avaient pour mission de retrouver leur vaisseau grâce à l’ensemble des outils d’Office 365 Power BI et d’Azure, à partir d’un PC, d’une tablette ou de Facebook.

  • Démo 1 :

Objectif : retrouver la position du vaisseau en se basant sur l’analyse du niveau de carburant, ces données étant stockées dans le Cloud.

Étapes mises en œuvre : à partir d’un PC, récupérer les données sur le Cloud, les nettoyer et afficher sur Excel la Map des lieux avec le niveau d’essence en fonction du temps.

  • Démo 2 :

Objectif : A partir des données Facebook, récupérer les données des lieux fréquentés lors de la soirée de la veille pour retrouver leur vaisseau qui a dû planer après leur panne d’essence.

Étapes mises en œuvre : Affichage sur Excel des photos des lieux et affichage de la Map avec la popularité Facebook des lieux et leur visite dans le temps. Publication du rapport sur le Cloud.

  • Démo 3 :

Objectif : Utiliser un autre support qu’un PC pour interroger les données stockées précédemment dans le Cloud.

Étapes mises en œuvre : A partir d’une tablette, récupérer le rapport sur le Cloud pour visualiser le dernier endroit visité. Avec Q&A, questionner la base des rapports pour connaitre l’adresse et le numéro de téléphone du dernier lieu fréquenté pour retrouver leur vaisseau.

Notes :

  • Power Query est un add-in Excel à télécharger qui contient un connecteur permettant de récupérer les données Facebook.
  • Catégorisation des colonnes sur Power Pivot nécessaire notamment pour pouvoir afficher correctement sur la Map les lieux (catégorisation des adresses, code postal, pays, …) – la recherche de Power Map s’appuie sur Bing, une ville trop mal orthographiée pourrait donc ne pas être retrouvée. 
  • Power BI est intégrable à SharePoint Online
  • Power BI Site = site SharePoint dédié à la BI (sur Office O365)
  • Power BI = Excel + O365

 

Liens :

Power Query l’ETL « Power-User » dans l’ombre de SSIS

Power Query l’ETL « Power-User » dans l’ombre de SSIS

Comparatif Power Query / SSIS

Power Query atouts et faiblesses

Initialement lancé sous le nom de Data Explorer, le mini ETL  Power Query de la suite Power BI s’est amélioré et la version actuelle (2.9.3547.162) apporte quelques nouveautés.

Dans le cadre d’un projet Power BI dont les données sont récupérées d’une liste SharePoint, j’ai eu l’occasion d’utiliser ou essayer d’utiliser devrais-je dire, certaines de ces transformations.

La nouvelle version de Power Query propose beaucoup de nouvelles transformations, elles sont principalement accessibles via une fenêtre d’édition de formules d’où un script est généré.

Elles sont classées dans différentes catégories en fonction du type de transformation.

La première chose que nous remarquons, est que cette dernière ne donne pas beaucoup d’options et applique même parfois la transformation avec une valeur par défaut. Je pense à la transformation    Image       qui enlève les doublons en prenant comme référence la première colonne de la table.

Notons au passage que pour chaque transformation, une requête est générée en Langage M.

Du coup pour personnaliser une transformation il faudra être courageux et aller plonger dans la requête susnommée.

 

1)    Power Query : Dans les faits / Dans le M

Les transformations offertes sont multiples et comme annoncé plus haut, chacune d’elle génère du code en langage M.

Prenons comme exemple la transformation Image

Celle-ci permet de séparer une colonne en plusieurs en utilisant un délimiteur spécifique.

Dans notre cas nous utiliserons le caractère « Espace » comme délimiteur pour séparer une colonne (Created By1) contenant le nom et le prénom d’une personne dans deux colonnes distinctes.

Image

Image

Power Query nous propose plusieurs délimiteurs ainsi que la position à prendre en compte.

Image

Au final nous obtenons le résultat attendu d’une manière très simple.

Il faut l’avouer, la mise en œuvre des transformations fait partie des forces de Power Query.

Sauf que pour aller, plus loin il faudra regarder ce qui se cache derrière.

Et derrière se cache une requête écrite en M. En voici l’extrait correspondant à notre requête.

Image

Notons aussi qu’il est possible d’écrire des formules via un assistant, comme dans le cas de la construction d’une nouvelle colonne.

Contrairement à SSIS  avec le « derived column » par exemple où on a une fenêtre proposant la liste des fonctions disponibles avec une petite description, ici aucune aide n’est proposée.

La seule façon d’ajouter une formule ou une expression c’est de connaître celle-ci (un lien décrivant la liste des formules est disponible dans la partie référentielle).

Image

Chose non moins importante concernant la syntaxe des formules : elles sont sensibles à la casse.

Et c’est par un pur hasard que j’ai constaté cela, en essayant de mettre en place une formule avec IF. En mettant les mots clé en majuscules, nous avons une erreur pas très explicite il faut l’avouer.

Image

2)   Comparatif de certains composants entre Power Query et SSIS

Après un rapide tour des différentes transformations proposées dans Power Query, on se rend compte que la plupart de ces transformations sont disponibles dans SSIS mais de façon moins ergonomique.

Je prends comme exemple la transformation Image

Cette dernière est accessible sous SSIS via le composant « Flat File Source ».

De la même manière, la transformation    Image     présente dans l’interface de Power Query est disponible sous Intégration Services via  le composant « Aggregate ». 

En partant de ce constat, on s’aperçoit que Power Query fait abstraction des différents composants de SSIS qu’il faut mettre en place afin d’avoir accès à certaines transformations.

Il met ainsi à disposition ces transformations directement via l’interface.

Ci-dessous nous avons un tableau faisant l’analogie de certaines transformations entre Power Query et SSIS.

POWER QUERY

SSIS

Merge Merge Join
Unpivot Unpivot
Remove Duplicates Sort
Group By Group by (Aggregat)
Use First Row as Headers Column name in the First Data Row (Import Flat File)
Insert Custom Column Derived Column

Remarque :

Ce tableau n’a pas pour objectif l’exhaustivité mais juste pour exemple comparatif de quelques transformations.

3)   Possibilités offertes par Power Query

Les fonctionnalités de Power Query peuvent s’appliquer aussi bien sur les colonnes que sur les lignes d’une table.

Ainsi dans la suite nous classerons ces fonctionnalités en fonction des éléments sur lesquels ils s’appliquent.

a)     Réduction 

Dans cette section on trouve tout ce qui permet d’enlever une partie des lignes ou des colonnes de la table. Cette réduction peut se faire à plusieurs niveaux.

Image

 Image

Supprimer les n premières lignes de la table.

 Image Supprimer les colonnes sélectionnées de l’affichage et empêcher leur utilisation ultérieure.
 Image Supprimer les lignes alternées de la table en commençant par la première ligne à supprimer et en indiquant le nombre de lignes à supprimer et le nombre de lignes à conserver.
 Image Supprimer les lignes contenant des erreurs dans les colonnes actuellement sélectionnées.
 Image Supprimer toutes les lignes de la table dans lesquelles les valeurs dans les colonnes sélectionnées ont un doublon dans les valeurs antérieures. La ligne contenant la première occurrence d’un ensemble de valeurs n’est pas supprimée.
 Image Spécifier le nombre des premières lignes à conserver dans la table.
 Image Spécifier une plage de lignes commençant par une première ligne et incluant le nombre de lignes à conserver dans la table.

                                                                                                 

b)    Transformation

Les transformations disponibles ne sont pas encore nombreuses, mais la section reste prometteuse au vu de la facilité qu’elle apporte.

Image

 Image Une colonne de texte peut être divisée en plusieurs colonnes de deux façons :•            Par délimiteur•            Par nombre de caractères
Image Résumer les données par valeurs de ligne. Par exemple, avec les colonnes État, Ville et Population dans une table, on peut :

  • Effectuer un regroupement selon l’État et calculer le nombre de villes dans chaque État ou la somme de la population des villes pour obtenir la population de chaque État.
  • Effectuer un regroupement selon la ville et dénombrer les instances des noms de ville.
 Image Remplacer un élément dans la colonne par une autre valeur.
 Image
 Image Pour une valeur de texte, modifier le mode d’affichage des valeurs de la colonne :•            Minuscules•            MAJUSCULES•            Mettre en majuscules la première lettre de chaque mot•            SupprEspace•            Nettoyer•            JSON•            XML

Pour une valeur de type Date/heure, modifier le mode d’affichage des valeurs de la colonne :

•            Date

•            Heure

•            Jour

•            Mois

•            Année

•            Jour de la semaine

 Image Les noms d’en-tête de la table sont remplacés par les valeurs des cellules de la première ligne du tableau
 Image Transformer les colonnes sélectionnées en paires attribut-valeur.

c)     Création

Même constat que la section « Transformation », peu fourni, mais un travail agile peut être fait sur les colonnes.

 

Image

 ImageImage Insérer une nouvelle colonne après la dernière colonne de la table. Les valeurs dans la nouvelle colonne sont déterminées en sélectionnant le type de colonne à insérer :•            Personnalisé (vous définissez la formule qui calcule les nouvelles valeurs)•            Index
Image Crée une copie de la colonne sélectionnée à droite de la table. Le nom donné à la nouvelle colonne est Copie de <nom de la colonne>.

 

d)    Combinaison

Power Query permet de créer plusieurs venant de différentes sources, mais offre aussi la possibilité de les combiner afin d’enrichir son jeu de données.

Cette section en est l’illustration parfaite.

Image

Image Dans la grille Aperçu, créer une requête à partir de deux requêtes existantes. Un résultat de requête contient toutes les colonnes d’une table primaire, une colonne servant de colonne unique contenant un lien de navigation vers une table liée. Pour plus d’informations sur la fusion des requêtes.
Image Dans la grille Aperçu, créer une requête qui contient toutes les lignes d’une première requête suivie de toutes les lignes d’une deuxième requête.

4)  Nouveautés Power Query Décembre 2013 (Microsoft)

Beaucoup de nouveautés ont été introduites avec la mise à jour de Décembre.

Ci-dessous la description de ces nouveautés.

  • Power Query peut maintenant se connecter à plus de sources de données comme :
  • Sybase IQ
  • Exchange
  • Dynamics CRM Online
  • Quand vous sélectionnez plusieurs tables dans le panneau de navigation, Power Query détecte automatiquement les relations de base de données.
  • Le remplacement des requêtes partagées a été supprimé.
  • Vous pouvez maintenant partager votre requête à la volée.
  • De nouveaux boutons ont été ajoutés au ruban de l’éditeur de requête, à savoir Fill Down, Sort Ascending/Descending and Number Transformations.

5)   Références

Les Blogs

http://blogs.microsoft.fr/technet/power-query/feed

http://cwebbbi.wordpress.com/category/power-query/

http://devinknightsql.com/category/power-query/

Langage M (MSDN)

http://msdn.microsoft.com/en-us/library/dd285271.aspx

Descriptif des composants de Power Query

http://office.microsoft.com/en-us/excel-help/guide-to-power-query-context-menus-HA103993856.aspx?CTT=5&origin=HA104003813

Power Query UnPivot

http://office.microsoft.com/en-us/excel-help/unpivot-columns-HA104053356.aspx?CTT=5&origin=HA103993856

Power Query Liste des Formules

http://office.microsoft.com/en-us/excel-help/power-query-formula-categories-HA104122363.aspx?CTT=5&origin=HA104003813

Microsoft Power Query Preview for Excel Formula Language Specification

http://go.microsoft.com/fwlink/?LinkID=320633

 

Liste de mots clé  du langage M:

Ce tableau peut être bien utile au moment où on doute de l’existence d’une expression.

Comme le « switch » par exemple …. Il faudra faire sans.

Opérateurs unitaires NOT, IS
Constant expressions ERROR, FALSE, TRUE
Typage #BINARY, #DATE, #DATETIME, #DATETIMEZONE, #DURATION, #INFINITY, #NAN, #SECTIONS, #SHARED, #TABLE, #TIME
Opérateurs binaires AND, OR
Expressions conditionnelles IF, THEN, ELSE
Type assertion AS
Méta données META
Autre EACH, IN, LET, OTHERWISE, SECTION, SHARED, TRY

Cheikh SECK

Tutorial Power Query

Tutorial Power Query

Image

Contexte

L’objectif de ce tutorial est de pouvoir analyser et croiser toutes les informations concernant:

  • La ponctualité des TGV
  • L’information Transilien (les équipements, les services qui sont proposés dans les gares desservies par le Transilien)
  • Le nombre de voyageurs moyen par gare

Maquette

A l’issu de cet atelier nous obtiendrons une maquette semblable à celle ci-dessous :

Image

Dans ce scenario, nous utiliserons plusieurs requêtes(QUERY) afin de charger des données issues de différentes sources (csv, dossier, web) et réaliserons quelques transformations.

NB : toutes les formules utilisées dans ce tutorial sont codées en langage M, spécifique à Power Query.

QUERY 1 (Gare) : Chargement des données à partir d’un fichier csv

Dans cette requête nous utiliserons les transformations suivantes : « Source csv », « Use First Row As Headers », « Custom Colunm », « Replace Values », « data type ».

Pour charger les données à partir d’un fichier csv, je vous invite à suivre les étapes suivantes :

Dans Power Query :

  • Sélectionnez « From File »  ->  « From CSV » dans « Get External Data »
  • Sélectionnez ensuite le fichier  « Liste des gares de voyageurs du RFN avec coordonnées et adresses postales.csv »

Image

  • Activez « Formula Bar »

Image

  • Modifiez la source afin d’avoir un bon format de données en 1252 et un split par « ; » de type = Csv.Document(File.Contents(« C:\Users\Administrator\Documents\Source SNCF\Liste des gares de voyageurs du RFN avec coordonnées et adresses postales.csv »), null, « ; » , null, 1252)

 

cliquez sur « Use First Row As Headers » afin d’utiliser la première ligne comme en-tête.

Image

Pour créer une colonne calculée réalisant une concaténation :

  • Faites clics  droits -> Insert Custom Colunm

Image

  • Saisissez la formule suivante : Text.Combine({« 87 »,[UIC]})  afin de faire une concaténation du « 87 » et le code UIC pour faciliter le merge avec d’autre table

Image

Pour modifier les types de données :

  • Sélectionnez la colonne « Code UIC »  -> « Data Type » et choisissez le type Number

Image

Sur la colonne « Nom de la gare », remplacez le «-» par un espace afin d’améliorer le mapping avec les fichiers de ponctualité. Pour cela :

  • Utilisez « Replace Values » sur la colonne Région, remplacez la valeur « -CA » par «  Cote d’Azur »

Image

  • Validez les transformations et renommez « Query » par « Gare ».

Résultat attendu :

Image

QUERY 2 (Ponctualité) : Chargement des données à partir d’un dossier

Dans cette requête nous utiliserons : « Source dossier », « Split Column », « Use First Row As Headers », « Custom Colunm », « Transform », « data type », « Calcul de Ratio ».

Parmi les avantages de Power Query, il y a la possibilité de charger un dossier sans avoir besoin d’utiliser une boucle :

Dans Power Query :

  • Sélectionnez « From File » -> « From Folder » dans « Get External Data »
  • Sélectionnez ensuite le Dossier  « Source Ponctualite» (A voir avec le formateur pour le chemin).

Image

  • Parcourez le dossier « Source Ponctualite».

Image

  • Cliquez sur les doubles flèches dans la case « Content » afin de regrouper toutes les données des différents fichiers.

Image

Image

Afin de Splitter les différentes colonnes :

  • Cliquez sur « Split Column » -> « By Delimiter »

Image

  • Sélectionnez le « ; » comme  séparateur de colonne

Image

Image

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »

Image

  • Faites un filtre sur la colonne « Départ » afin de retirer la valeur « Départ » qui représentait la ligne d’en-tête de chaque fichier.
  • Pour les colonnes « Nb de circulations » et « Nb trains en retard à l’arrivée », remplacez les blancs par 0 (comme dans la QUERY 1) puis changez le format en « Number »
  • Afin de matcher avec la table « Gare », utilisez la fonction « Transform » puis « Capitalize Each Word » sur les colonnes « Départ » et « Arrivée ».

Image

  • Remplacez les « – » par des espaces sur ces deux colonnes.

Pour calculer le ratio du nombre de retards par rapport au nombre de circulations :

  • Insérez une nouvelle colonne
  • Saisissez la formule suivante :

if [Nb de circulations] = 0 then 0 else [# »Nb trains en retard à l’arrivée »]/[Nb de circulations]

Image

  • Renommez cette colonne « Ratio retard » et changez son format en « Number »
  • Validez et renommez la Query « Ponctualité TGV ».

Résultat Attendu :

Image

QUERY 3 (Equipement des gares) : Chargement des données à partir d’une page web

Dans cette requête, nous allons mettre en pratique les composants suivants : « Source web », « Split Column », « Use First Row As Headers », « data type ».

Dans Power Query :

  • Sélectionnez « From Web»

Image

ImageImage

Afin de Splitter les différentes colonnes :

  • Cliquez sur « Split Column » -> « By Delimiter »

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »

Faites les transformations qui suivent afin d’améliorer la correspondance avec les autres fichiers

  • Filtrez sur la colonne « Nombre de bornes d’appel » en retirant la valeur « Nombre de bornes d’Appel ».
  • Changez le format de la colonne « Code UIC » et « Nombre de bornes d’appel » en « Number ».
  • Supprimez la colonne « Gare ».
  • Validez et renommez la query « borne ».

Résultat attendu :

Image

QUERY 4 : Chargement des données à partir d’une page web et calcul des ratios

Dans cette requête, nous utiliserons les mêmes composants que dans la précédente mais avec le « Calcul des Ratios » en plus.

Dans Power Query :

  • Sélectionnez « From Web»
  • Rentrez l’adresse suivante :

http://files.transilien.com/hackdays/voyageurs_montant_en_gare.csv

Afin de Splitter les différentes colonnes

  • Cliquez sur « Split Column » -> « By Delimiter »

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »
  • Supprimez la colonne « Gare ».

Calcul des ratios :

Pour calculer le ratio permettant d’avoir le nombre de voyageurs minimum avec le code :

  • Insérez une nouvelle colonne
  • Saisissez la formule suivante :

 if [Nombre de voyageurs montant] = « entre  5000 et 15000 » then 5000 else if [Nombre de voyageurs montant] = « entre  1000 et 5000 » then 1000 else  if [Nombre de voyageurs montant] = « entre  300 et 1000 » then 300 else  if [Nombre de voyageurs montant] = « moins de 300 » then 0 else  if [Nombre de voyageurs montant] = « plus de 15000 » then 15000 else  0

  • Faites la même chose  pour la colonne « Nb Voyageurs Max » :

if [Nombre de voyageurs montant] = « entre  5000 et 15000 » then 15000 else if [Nombre de voyageurs montant] = « entre  1000 et 5000 » then 5000 else  if [Nombre de voyageurs montant] = « entre  300 et 1000 » then 1000 else  if [Nombre de voyageurs montant] = « moins de 300 » then 300 else  if [Nombre de voyageurs montant] = « plus de 15000 » then 15000 else  0

  • Idem pour la colonne « Nb Voyageurs Moyen » :

([Nb Voyageurs Min]+[Nb Voyageurs Max])/2

  • Supprimez la colonne « Nombre de voyageurs montant », modifiez le format des colonnes restantes en « Number ».
  • Validez et renommez la Query « Voyageurs ».

Résultat attendu :

Image

QUERY 5 : Chargement des données à partir d’une page web

Dans cette requête nous utiliserons : « Source web », « Use First Row As Headers », « un split par « ; »  », « Filtrer », « Replace Values ».

Dans Power Query :

Modifiez la source afin d’avoir un bon format de données en 1252 et un split par « ; » de type

  • Modifiez le format de la source

=Csv.Document(Web.Contents(« http://files.transilien.com/gare/gare_20120319.csv &raquo;),null, »; »,null,1252)

  • Mettez la première ligne en en-tête avec « Use First Row As Headers ».
  • Pour chaque colonne correspondant à des mesures (exemple : nb d’abris à vélo) ainsi que le code UIC, remplacez les blancs par 0 puis modifiez le format en « Number ». Pour le « CAB Passage Elargi contrôlé », remplacez « Pas de CAB » par 0.
  • Il est possible de filtrer sur la colonne « gare non SNCF » et de ne garder que les 0, c’est-à-dire seulement les gares SNCF.
  • Supprimez alors toutes les colonnes mises à part le code UIC et les mesures.
  •  Validez et renommez la Query « Equipement ».

Résultat attendu :

Image

QUERY 6 : Merge de plusieurs sources

Dans cette requête nous allons faire une jointure entre deux fichiers différents pour cela nous allons utiliser le Merge qui est l’équivalent d’INNER JOIN.

Dans Power Query :

  • Appuyez sur « Merge »  

Image

  • Sélectionnez  la table « Equipement » et le champ « Code UIC complet ».
  • Faites la jointure avec la table « Borne » sur le code UIC en cochant la case « Only include matching rows ».

Une nouvelle Query est créée avec la table « Equipement » contenant une nouvelle colonne « NewColumn ».

  • Appuyez sur Expand
  • Cochez le nombre de bornes d’appel.

Image

  • Une fois la colonne ajoutée, validez.

Résultat attendu :

Image

QUERY 7 : Merge de Query voyageurs avec la Query

Dans cette requête, nous allons faire une jointure entre deux fichiers différents. Pour cela, nous allons utiliser le Merge qui est l’équivalent d’INNER JOIN.

Dans Power Query :

  • Faites une nouvelle jointure « Merge » en sélectionnant la table précédemment créée ainsi que la table « Voyageurs » (toujours sur le code UIC).
  •  Cochez de nouveau la case « Only include matching rows » avant validation.
  • Faites un Expand et cochez le « Nb Voyageurs Min », « Nb Voyageurs Max » et « Nb Voyageurs Moyen ».
  • Validez et renommez la query « Transilien ».

Résultat attendu :

Image

Les « QUERY » sont maintenant créées et peuvent être intégrées au Data Model.

  • Cliquez  sur « Load to Data Model » pour les intégrer  et être utilisées afin de créer des rapports sous PowerView.

Laila TABII

[JSS 2013] Session : Gestion des données, Power BI

Speaker : Jean Pierre Riehl

Introduction :

Power BI est une solution de Business Intelligence composée de plusieurs éléments.

3 grands usages de Power BI :

  1. Information worker – Excel
  2. Data Steward – Excel, PowerBI site
  3. IT admin – Data management Gateway, IT admin Portal

Power Query :

C’est un Add-in Excel gratuit.
C’est l’outil de BI Self-Service qui peut charger des données qui ne sont pas dans le format attendu depuis toutes les sources de données et qui peut connecter les informations.

Jean-Pierre Riehl nous montre 3 démos

Démo 1 : Façonner des données

On peut créer une requête dans Power Query, traiter les données et nettoyer les données pour arriver le jeu de données qui peut répondre aux questions.

Il y a trois fonctionnalités utiles dans Power Query

Json.Document : il nous permet de lire, transformer et exploiter ce format assez nativement.

Merge : L’opération Merge crée une nouvelle requête de multi-sources de données.

Un pivot : Il crée une colonne d’attributs pour la colonne sélectionnée et une colonne de la valeur pour chaque valeur de la cellule sélectionnée.

On peut aussi créer notre propre fonction avec le langage M.

Démo 2 : Partager et Rechercher

L’objectif : Collaborer avec l’équipe et avec l’ensemble de service et partager des travaux.

Share Query : qui permet de partager la requête sur Office 365 et mettre la disposition à l’autre.

(Partager uniquement les métadonnées pas EXCEL!)

Online Search : le moteur nous permet de rechercher partout avec le mot clé

  1. Chercher les données public (Wikipédia)
  2. Chercher les données dans mon organisation.

Démo 3 : Data Management Gateway

Il se charge de communiquer et mettre le lien entre On-Premise et Office 365 – Cloud

Il permet de mettre à jour les données sur Cloud et d’exposer en flux Odata les informations d’une base de données qui se trouvent sur site.

Conclusion :

Quand User est dans EXCEL, il peut communiquer directement avec Office 365. Ça sert à rechercher et partager les informations.

Data Management Gateway, il s’agit comme proxy et il permet de Data Refresh indexation des métadonnées.

Yuanfan – Consultant décisionnel MCNEXT