[PASS SUMMIT 2013] Power BI Self-Service Information Management

Speakers : Matthew Roche & Ofer Ashkenazi – Microsoft Corporation – Power BI Team

Niveau de la session : 200

1. Power BI review :

  • 1 milliard d’utilisateurs Office,
  • 1/4 des entreprises clientes sont sur Office 365,

Démo SSIM dans Power BI:

– US Airports Weather Data et Arrival Delays,
– Sources : Windows Azure HDInsight, Excel,
– Share Query : il est important de rajouter la description de la requête afin de faciliter l’indexation de la Query et donc la retrouver en top list dans online search,
– Power MAP (nécessite la version 64 bits de l’os et d’Excel),

2. Power BI SSIM main modules :

  • Data Catalog : contient notamment les métadonnées des différentes sources internes et externes (les Query y sont publiées suite au Share),
  • Power Query in Excel,
  • Admin Center,
  • Data Management Portal,

3. Delivering tangible benefits for customers :

  • Data Steward : s’assure que les métiers ont les données dont ils ont besoin quand ils en ont besoin (création et annotation des tueries, identification des besoins en données, suivi des statistiques d’utilisation des données (usage analytics par date / utilisateur / requête)),
  • IT Admin : se charge de fournir les sources de données, de gérer les droits d’accès et du Data Management Gateway,

Conclusion :

Session assez intéressante pour découvrir et comprendre l’écosystème de Power BI en termes d’outils et d’acteurs.

Ismaïl Ben Lamine

[PASS SUMMIT 2013] Deep Dive into the Power Query Formula Language

Speakers : Faisal Mohamood – Lead Program Manager, Theresa Palmer-Borovski – Program Manager & Clement Szyperski

Niveau de la session : 400

Agenda :

  • Design Goals & Guidelines Principles
  • Lang Constructs & Type System
  • Demo, demo, Demo

La session démarre avec les objectifs de construction du langage (utlisateurs avancés d’Excel, Syntaxe simple, proximité avec DAX…)

1. Principes :

  • Dynamique
  • Fonctionnel
  • Hautement ordonné
  • Typage optionnel

2. Type System :

Ensemble de types restreint

Possibilité de définir des types personnalisés

3. Values :

  • Null
  • Logical
  • Number
  • Text
  • Date …
  • Duration

4. Complex Values :

  • List
  • Record
  • Table
  • Fonction
  • Type
  • Binary

5. Fonctions Unaires

Existence de forms syntaxiques spéciales (expressions conditionnelles, Let expression, Error Expression, Try expression)

Existence de types structures (List, Record, Table, Function)

 

Passé la partie théorique assez courte (il en faut bien un peu non), le reste de la présentation enchaine démo sur démo des fonctions du langage : c’est ce qu’il faut regarder de la session.

Conclusion

Une très bonne session avec un aperçu des possibilités offertes par le langage. Une alternative à SSIS dans certains cas ?

Pascal Rouzé

[PASS SUMMIT 2013] From Data to Insight : Views from Microsoft Finance

Speaker : Marc Reguera – Directeur dinancier chez MS Corp

Niveau de la session : 200

 

Vue d’un business analyste qui est un des directeurs financier de MS Corp. sur la nouvelle technologie Power BI.

L’utilisation de Excel 2013 a « changé sa vie »

Il  fait des démos et montre comment il créé lui-même ses rapports, notamment  financier.

 

La Révolution BI en libre-service a commencé depuis 2 ans.

On part sur le fait qu’il y a une frustration qui peut exister chez un analyste envers l’IT pour ne pas avoir ses rapports en temps et en heure.

Solution : Laisser l’analyste créer lui-même ses rapports sans avoir de connaissances techniques.

Agenda :

  1. Créer un dashboard en quelques minutes
  2. Mettre en place sécurité et formules en quelques heures
  3. Cas d’usage : AirFare Cost (frais d’avion)
  4. Publier l’information et construire des graphiques en 3D
  5. L’outil révolutionnaire : Q&A

 

1. Créer un dashboard en quelques minutes

Démo :

Rapprochement entre budget et la VTB sur une année fiscal donnée

Plusieurs axes d’analyse : produit, ville..

VTB : Variance to budget

2. Mettre en place la sécurité et les formules en quelques heures

Démo :

Utilise une base de 400 millions de lignes qui est stocké dans SSAS Tabular.

Il accède à un rapport dont il n’a pas les droits sur un pays en particulier : aucunes données ne s’affichent mais le rapport se lance.

3. Cas d’usage : AirFare Cost (frais d’avion)

Démo :

Exemple : Impact des couts selon la date à laquelle le billet a été commandé

4. Publier l’information et construire des graphiques en 3D

Démo :

  • Unpivot dans Power Query
  • Rapprocher des données publiques et privées dans Power Query
  • Carto avec Power Map
  • Données démographique avec Scatter

5. L’outil révolutionnaire : Q&A

Démo sur le championnat espagnol de foot

Conclusion :

Session très vivante, les démos sont très interactives, il fait parler les données autant d’un point de vue professionnel, la finance, mais aussi personnel avec le foot et le réal de Madrid où il exprime au passage sa passion.

Son pays natal est la France, il y fait allusion souvent dans ses démos comme l’ami de son père qui est artisan à Noisy le grand où il a vécu.

Sébastien Madar

[PASS Summit 2013] Building an effective Data Warehouse Architecture

Speaker : James Serra – BI Consultant, SolidQ

Niveau de la session : 100

1. What à DWH is not :

  • une copie de la base source avec un préfixe « DW »,
  • une copie de plusieurs tables issues de différentes sources unies dans une vue,
  • un amas de données non structurés,

2. Why DWH ?

  • diminuer la charge sur le système de production,
  • optimiser l’accès en lecture et les scans disque séquentiels,
  • intégrer plusieurs sources de données,
  • constituer un historique de données,
  • restructurer et renommer les tables et les champs,
  • assurer la qualité de données,
  • garantir l’unicité de la donnée,

 3. Fast Track Data Warehouse :

  • Configuration matérielle optimisée pour le data warehousing. Elle permet d’éviter de perdre des mois de configuration, installation, test et optimisation,
  • Plusieurs appliances sont proposées dans ce contexte chez IBM, HP, DELL,
  • Le Fast Track est actuellement en version 4.0,

4. Kimball and Inmon methodologies :

  • 2 approches pour construire un data warehouse,
  • Kimball est une approche en top down orientée métier. Elle repose sur :

– un modèle dimensionnel en 2 tiers (datamart, cube) simple pour les utilisateurs finaux mais dérangeante pour les IT habitués au modèle relationnel,
– un schéma en étoile (dimensions, faits),
– des clés métiers (surrogate key),
– l’architecture : source oltp – staging – DWH – cube – rapports,

  • Inmon est une approche dans laquelle le data warehouse est construit iterativement. Elle repose sur un modèle relationnel en 3 tiers (DWH, datamart, cube) familier aux IT et sur des clés naturelles. Les utilisateurs finaux y ont une participation passive. L’architecture est : source oltp – staging – DWH – plusieurs datamarts – plusieurs cubes – rapports,
  • la méthodologie Inmon est suivie dans 39% des entreprises alors que 26% d’entre elles optent pour Kimball,
  • aucun modèle n’est mieux qu’un autre (ils sont même complémentaires) et aucun des 2 ne doit être appliqué en totalité –> il faut adapter à son cas, ses besoins, son infrastructure,

5. Populating a data warehouse :

  • déterminer la fréquence de mise à jour (quotidien, hebdomadaire, etc.),
  • full extraction pour les dimensions,
  • incremental extraction pour les faits,
  • pour détecter les données qui ont changé dans la source : timestamp – last update, Change Data Capture, partitionnement par date, triggers sur les tables, MERGE SQL, colonne DEFAULT value populated with date,

6. ETL vs ELT :

  • ELT : à faire en cas de grosse volumétrie à condition que la source et la cible soit dans la même base. L’intégration de données se fait via la tâche SQL (et non en Data Flow Task comme en ETL),

7. Architecture DWH possible et optimisée :

Sources – staging – DQS – MDS – DWH – cube – rapports – SharePoint,

Conclusion :

Session intéressante qui permet de (re)découvrir la base de mise en place dune solution décisionnelle performante. Bon overview des modèles de Kimball et Inmon (différences, pratiques de modélisation). Session théorique menée par un speaker très pédagogue.

Ismaïl Ben Lamine

[PASS SUMMIT 2013] Visualize your Big Data with HDInsight, Power View and Excel

Speaker : Jen Stirrup, Copper, Blue Consulting

Niveau de la session : 300

Agenda :

  • Data visualisation background
  • Visualising your data
  • Your big data : toolkit  Power View  et Power Map

Data visualisation background + Visualising your data :

Jen insiste sur l’intérêt de l’aspect visual des données (citations, …) puis sur le déluge du volume des données, les data unknown unknows.

Elle présente les données de températures associées aux décollages de Challenger (Roben report by NASA), puis des données statistiques Anscombet’s Quartet (mean, var , regression linéaire) puis graph associés (plus lisible selon Jen) :

Visualiser via des tables de données n’est pas tjs facile.

Elle parle des risques du Big Data : quelle techno, quel budget, comment visualiser les données, risques sur les données (20 000 hommes enceinte en UK)…

Comment visualiser les données :

Data First : penser format tabulaire (données catégorisées ou triées) ou spatial

Etapes : preatteattentive processing, visual integration , cognitive integration

Suggestion de Perceptual Pattern = conseils (size, color, shape, format 2d, association des couleurs/quantités/ordre) … bref on parle de mise en forme, graphisme (ça c’est pour Plaza-design), quel rapport avec le big data (c’est valable quel que soit le volume de données)

Information seeking mantra : resumer puis zoomer et filtrer puis données des détails à la demande

Visualising your data :

Self Service + Insights + Actions

Présentation de quand utiliser Power View (répondre à des questions : adhoc query et visualisation) et quand utiliser power map (mapping + exploring + interagir : data you want about where)

Your big data : toolkit  Power View  et Power Map :

Démo :

(dans l’ordre voici le déroulement en vrac de la démo)

  • Utilisation de Hive + HDInsight (cluster via Windows Azure)
  • HDInsight = Microsoft distribution de Hadoop (c’est en preview actuellement) mais Jen montre arrête la demo de HDInsight (qui n’a même pas commencée)
  • Utilisation de la version hors Microsoft de Hadoop (Hortonworks Sandbox : free  et interface mieux que dans HDInsight), l’utilisation de hue pour créer un requête (create table : syntaxe proche du T-SQL)

en important d’abord des données stockées sous HDFS puis le chargement des données dans une partition (non non c’est pas du T-SQL mais c’est très proche : on utilise l’entrepôt de Hadoop)

  • Utilisation de Excel (other sources + odbc connection to hortonworks sandbox : le dsn était tout prêt pour la démo), après Jen  c’est comme d’habitude on peut accéder à la table Excel via PowerPivot …
  • Comment récupérer dans une table Excel des données publiques (on line search), relier la donnée à PowerPivot et ajouter du DAX et utiliser la police windings dans un slicer pour afficher des smileys (lettres J ou K)
  • Démo finale avec Power View

Conclusion :

La première partie de la présentation (Data visualisation background et Visualising your data) est trop longue (1 heure) et présente un intérêt modéré (pas d’utilisation d’outils) : hors sujet ?

La deuxième partie (démo) est tout petit peu plus intéressante (si vous voulez afficher des smileys dans des slicers dans Excel) mais en fin de compte on y apprend pas grand-chose, la session précédente de Jen sur le Big Data était mieux. Une session ou a presque rien vu sur du big data.

Pascal Rouzé

[PASS Summit 2013] Ten Query Tuning Techniques every sql programmer should know

Speakers : Aaron Bertrand – Senior consultant at SQL Sentry & Kevin Kline – Director of engineering services at SQL Sentry

Niveau de la session : 100

Test & Tuning environment :

* Code pour vider les caches :

CHECKPOINT

DBCC [FreeProcCache | FreeSystemCache | FlushProcInDB]

DBCC DropCleanBuffers –> A ne pas faire en production

* Code pour mettre en place des mesures :

SET STATISTICS [Time | IO]

SET SHOWPLAN [TEXT | XML]  ou Graphic Execution Plans

* Code pour les Dynamic Management Views (DMV) :

– System info : sys.dm_os_performance_counters, sys.dm_os_wait_stats,

– Query info : sys.dm_exec_requests,

– Index info : sys.dm_db_index_usage_stats,

Query tuning techniques :

* Cursors :

à utiliser avec parcimonie et avec les bonnes options car ils peuvent être lents surtout s’ils sont utilisés avec la valeur par défaut. De plus, les curseurs ne sont généralement pas nécessaires.

Démo sur une table qui a 500.000 lignes :

DECLARE c CURSOR –> 11 secondes,

DECLARE c CURSOR LOCAL FAST_FORWARD –> 4 secondes,

* NOT IN Versus LEFT JOIN :

– Le NOT IN est dangereux lorsque la colonne source est NULLable,

– Le LEFT OUTER JOIN n’est pas toujours une bonne alternative,

– NOT EXISTS et EXCEPT sont recommandés mais peuvent retourner des résultats différents.

Démo :

Table A (1,1,NULL)

Table B (1,1,2,2)

B NOT IN A –> aucun résultat car NULL dans A –> KO,

B NOT EXISTS A –> 2,2 –> OK,

B EXCEPT A –> 2 –> OK (dédoublonnage effectué dans ce cas contrairement à l’exemple précédent),

* Il ne faut pas systématiquement créer les indexes que le Tuning Advisor ou Execution Plan préconisent,

* Implicit conversions :

à éviter au maximum. Passer plutôt par les conversions explicites afin que le moteur SQL optimise la requête.

* Outil intéressant « Column Mismatch » de Ian Stirk qui explore la base de données à la recherche des colonnes typés différemment dans les tables de la base.

Conclusion :

Session en deçà des attentes. Beaucoup de retours d’expérience clients mais pas suffisamment de démos pour étayer les propos. Certaines techniques évoquées dépassent le niveau 100 de la session.

Ismaïl Ben Lamine

[PASS Summit 2013] Designing an SSIS Framework using SQL Server 2012

Speaker : Andy Leonard – Chief Servant Officer, Linchpin People

Niveau de la session : 400

A Framework defined :

* Un Framework est une collection de design patterns qui permet de gérer les exécutions, la journalisation des événements et les différentes configurations,

Démo : Framework SSIS

– Objectif visé : Exécuter un ensemble de packages via un package master. Le parcours / exécution des packages présents dans le projet SSIS se fera via :

$ un « ForEach Loop Container » : avec un foreach ADO enumerator pour parcourir la liste des packages présente dans une table de configuration,

$ un « Execute Package Task » : pour exécuter le package retourné par la variable PackagePath,

Bonne pratique : passer par un connecteur ADO.NET (au lieur de Ole DB) dans Execute SQL Task lorsqu’on cherche à exécuter une procédure stockée,

Conclusion :

Session intéressante qui présente la démarche de travail du speaker dans ses différents projets implémentés auprès de grands groupes. La méthodologie suivie n’est peut être pas la meilleure (table de configuration avec la liste des packages) ni la plus performante mais l’automatisation de l’exécution se trouve ainsi simplifiée.

Ismaïl Ben Lamine