[70-461] Querying Microsoft SQL Server 2012 – Avril 2014

Suite au passage de la certification 70-461 « Querying Microsoft SQL Server », voici mon compte rendu.

Concernant le contenu de l’examen c’est la même chose que ce qu’on dit mes collègues. Pour ne pas faire doublon je vous renvoie vers leurs posts :

 

Les questions m’ayant posées le plus de problèmes sont celles portant sur la différence entre une procédure stockée et une UDF (User-Defined Function).

L’UDF et les procédures stockées sont toutes deux des objets SQL Server qui stockent une ou plusieurs instructions T-SQL sous un seul nom, prenant la forme d’une routine exécutable. Même si vous pouvez mettre en œuvre la même fonctionnalité ou une similaire en utilisant soit une UDF ou soit une procédure stockée, le code sera significativement différent selon la technique que vous choisissez.

Les avantages de l’utilisation des procédures stockées ou des fonctions sont les suivants :

  • Vous pouvez créer la procédure ou la fonction une fois, la stocker dans la base de données et l’appeler autant de fois que vous le voulez dans votre programme.
  • Les procédures stockées et les fonctions Transact-SQL définies par l’utilisateur réduisent le coût de compilation du code Transact-SQL en mettant en cache les plans pour les réutiliser au cours d’exécutions répétées. Elles n’ont donc pas besoin d’être ré-analysées et ré-optimisées à chaque utilisation, ce qui réduit nettement les durées d’exécution.
  • Les commandes d’une procédure ou d’une fonction sont exécutées comme un seul lot de codes. Cela peut réduire considérablement le trafic réseau entre le serveur et le client, car seul l’appel pour exécuter la procédure ou la fonction est envoyé sur le réseau.

 

Voici les principales différences entre les fonctions et les procédures stockées :

  • Une UDF doit renvoyer un seul et unique jeu de résultat. Une procédure stockée peut quant à elle retourner une valeur ou même plusieurs jeux de résultats ou voir même ne rien retourner du tout.
  • Vous pouvez utiliser une UDF directement dans une instruction SELECT ainsi que dans les clauses ORDER BY , WHERE ou FROM, tandis que vous ne pouvez pas utiliser une procédure stockée dans une instruction SELECT.
  • Une UDF ne peut pas utiliser une fonction non déterministe (qui retourne un résultat différent avec les mêmes paramètres d’entrée) comme GETDATE(), NEWID(), ou RAND(), alors qu’une procédure stockée peut utiliser ces fonctions.
  • Une UDF ne peut pas modifier les variables d’environnement du serveur; une procédure stockée peut .
  • Une UDF arrête toujours exécution du code en cas d’erreur, alors qu’avec une procédure stockée on peut continuer à l’instruction suivante en utilisant le code de gestion d’erreur approprié.
  • Une UDF peut être appelée à partir de procédure alors qu’une procédure ne peut pas être appelée à partir de l’UDF.
  • Une procédure ne peut pas être utilisée dans une instruction SELECT alors qu’une fonction peut être intégrée dans une instruction SELECT.

 

Il existe plusieurs types de fonctions définies par l’utilisateur :

  • Fonction scalaire :Les fonctions scalaires définies par l’utilisateur retournent une valeur de donnée unique dont le type est défini dans la clause RETURNS. Une fonction scalaire incluse ne contient pas de corps ; la valeur scalaire est le résultat d’une instruction unique. Le corps d’une fonction scalaire à instructions multiples, défini dans un bloc BEGIN…END, contient une série d’instructions Transact-SQL qui retournent la valeur unique. Le type de retour peut être n’importe quel type de données à l’exception de text, ntext, image, cursor et timestamp.
  • Fonctions tableLes fonctions table définies par l’utilisateur retournent un type de données table. Une fonction table incluse ne contient pas de corps ; la table est le jeu de résultats d’une instruction SELECT unique.
  • Fonctions inlineLes fonctions définies par l’utilisateur inline sont un sous-ensemble de fonctions définies par l’utilisateur qui retournent un type de données table. Les fonctions inline peuvent offrir une fonctionnalité équivalente à celle des vues paramétrées.
  • Fonctions systèmeSQL Server fournit de nombreuses fonctions système que vous pouvez utiliser pour effectuer diverses opérations. Elles ne peuvent pas être modifiées.

 

 

 

[Techdays 2014] Le Must du décisionnel avec l’ensemble de l’offre Microsoft BI

Session du Jeudi 13 février : 15h15 – 16h

Intervenants :

  • Franck Mercier (Microsoft France)
  • Kaoutar Hajji Laamouri (Microsoft)

Niveau : Intermédiaire (200)

Résumé : Comment gagner du temps dans vos prises de décisions ? Et Power BI dont tout le monde parle tant? Qu’est-ce c’est au juste? Nous vous donnons rendez-vous pour répondre à ces questions et découvrir les nouveautés proposées par Power BI et SQL 2014! Au programme de cette session :

  • Gérer le cycle de vos données (EIM avec SSIS, DQS et MDS).
  • Les analyser rapidement (InMemory avec xVelocity) et efficacement (BISM dans Power View, PowerPivot et Power BI dans Excel et Office 365).
  • Faire des prévisions (DataMining avec SSAS et Excel).

Bref, la session à ne pas manquer pour connaitre tous les outils et les technologies associées répondant à l’ensemble de vos scénarios BI.

 

 

Présentation de SQL Server : gestion du cycle de vie de la donnée et la partie BI

Après nous avoir fait un rappel des différentes briques BI existantes, Kaoutar Hajji et Franck Mercier nous ont présenté les nouveaux composants POWER BI présents sur le Cloud ainsi que la partie Data Mining souvent oubliée par les utilisateurs de business intelligence.

1. Présentation de la solution de Business Intelligence

 

2. Présentation du modèle sémantique

 

La BI sémantique à plusieurs moyens de création :

  • BI personnelle (Self-service)
  • BI d’équipe (équipe dédiée)
  • BI d’entreprise (SI dédié à la BI)

Après nous avoir présenté ces différentes couches Kaoutar nous a fait un rappel sur les différentes possibilités offertes par la brique de DATA Mining à la fois du coté OLAP mais aussi du côté Excel.

Franck et Kaoutar ont ensuite réalisé une démo sur le thème de la Saint Valentin présentant l’utilisation des différents outils de BI de l’offre Microsoft

En particulier, Franck a pu mettre en avant l’intérêt du nouvel outil Q&A en cherchant des idées de cadeaux pour la saint valentin et plus particulièrement des soutiens gorge J. Q&A permet d’interagir en langage naturel avec les données chargées dans Office365.

Kaoutar a quant à elle essayé de trouver des billets de foot pour son amoureux au travers des différentes solutions Power BI (chargement de données dans Power Pivot, analyses graphiques via Power View).

 

NB :

 

Liens :

[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 :

[Techdays 2014] Avec Power BI, engagez le dialogue avec votre CRM

Session du Jeudi 13 février 2014 : 11h – 11h45

Intervenants :

  • Siavash Veyssi (MCNEXT)
  • Sébastien Madar (MCNext)

Niveau : Intermédiaire (200)

Résumé : Dans beaucoup de cas de figure, la solution CRM seule ne suffit pas à effectuer un état adéquat. Avec un couplage Dynamics CRM 2013 et Power BI, vous serez capable, entre autres :

  •  De mettre en place une analyse de vos données CRM avec la granularité que vous souhaitez
  • De visualiser en temps réel cette analyse
  • De réintégrer dans CRM des indicateurs issus de cette analyse afin d’affiner la gestion des objectifs de vos collaborateurs

Image

Dans cette session Siavash et Sébastien nous ont montré comment répondre aux différentes sollicitations des directeurs financier, marketing et commercial en mettant en corrélation les données du CRM Dynamics , d’un ERP et de Facebook afin de créer différents tableaux de bord permettant de répondre aux besoins des différents interlocuteurs.

Objectif actuel : recentrer sur le client

Outil de départ : CRM/ERP/Facebook

Power BI : permet de donner une vision 360° finale  mise à disposition des données sur le cloud

Dynamics CRM

But : intégrer les données clients, de réseaux sociaux, du cloud, des logiciels, etc.

Restitution : navigateur, tablette, Mobile, Skype, Lync, Pack Office, etc.

Les différents outils d’Office 365 comparés à ceux de SQL Server :

O365 Power Query Power Pivot Power View / Map Power BI Site / Sharepoint Online
SQL Server SSIS / DSQ SSAS SSRS / SQL Map Sharepoint

Recherche Q&A : crée des Dashboards directement à la volée à partir des données disponibles. L’interrogation se fait en utilisant le langage naturel.

Liens :

  • Slide : http://fr.slideshare.net/TechnetFrance/avec-power-bi-engagez-le-dialogue-avec-votre-crm
  • Webcast : http://www.youtube.com/watch?v=69VsVYvU2O0