Power Pivot & Power View

by Romain.CASTERES 10. June 2012 13:48

Power Pivot est un module qui s’intègre à Excel et se présentant sous forme d’add-in, qui nous permet d’importer des données de différentes sources (Base de données SQL, ficher texte/Excel, base Access…), afin de toutes les regrouper en un seul jeu de données grâce aux relations.

Power View(ex Crescent) est la nouvelle évolution dans les outils de restitution de données Microsoft. Ce nouvel outil qui permet la création de tableaux de bord très riches et dynamiques ainsi que sa collaboration avec PowerPivot.

Cette article a pour but de présenter PowerPivot et PowerView

J’ai dans un premier temps rapatrié et corrélé mes différentes données dans PowerPivot :

Noté que ma dimension Plat comporte un attribut Image :

Les images ont été préalablement déposées dans une galerie partagée dans SharePoint.

Noté que le model SSAS Tabular à les même options :

 

Après avoir créé des hiérarchies et des nouvelles mesures calculées en DAX j’ai définit les différentes propriétés des tables :

Configurer le comportement des tables : http://msdn.microsoft.com/en-us/library/hh560542%28v=SQL.110%29.aspx

Une fois mon model finalisé, j’ai transférer mon fichier Excel dans une galerie PowerPivot dans SharePoint. PowerPivot possède une galerie de présentation des fichiers dédiée dans SharePoint réalisé en Silverlight.

Une prévisualisation des feuilles de chaque fichier Excel et une prévisualisation des différents rapports réalisés facilitent la gestion de la galerie.

Création d’un rapport PowerView à partir de notre PowerPivot :

Les images sont placées en titre ce qui permet d’avoir un filtre en série avec défilement :  

Concernant l’actualisation des données dans PowerPivot : comme dans SQL Server Reporting Services il est possible de planifier l’actualisation des données de vos fichiers directement depuis l’administration de SharePoint.

Les étapes pour la mise en place de la planification sont détaillées sur le site MSDN de Microsoft : http://msdn.microsoft.com/fr-fr/library/ee210595.aspx 

Essayer PowerView en ligne : ICI !

Hadoop dans Windows Azure : Big Data & Business Intelligence

by Romain.CASTERES 18. May 2012 13:56

 

Démonstration préparée pour l'Après-midi du développement : Big Data : Hadoop sur Azure qui aura lieu le 24 mai 2012 chez Microsoft : http://aka.ms/amdev-hadoop

1 - Hadoop dans le cloud avec Windows Azure

 

Hadoop est une librairie open source pour traiter d'importantes masses de données en mode distribuée. Hadoop est aujourd'hui le leader du domaine et du Big Data.

2 - Rapatrier des données provenant d’un Blob Storage Azure

  • Dans Manage Cluster, configurer votre Azure Blob Storage.
  • Connectez vous en Remote Desktop
  • Exécuter les commandes shell afin de distribué sur le cluster vos données

Hadoop distcp asv://demo/iislogsTB-out-H demo/iislogsTB-out-H

Hadoop distcp asv://demo/iislogsTB-out-D demo/iislogsTB-out-D

Information sur la commande Distcp : http://hadoop.apache.org/common/docs/current/distcp.html

 

3 - Requête Hive

Dans Interactive Console, Interactive Hive nous allons créer des "External Table" afin de pouvoir accéder aux données rapatriées.

 

4 - Interrogation des données dans Excel

Afin de pouvoir interroger vos données de votre cluster Hadoop depuis Excel il vous faut télécharger et installer :

  • Hive ODBC driver
  • Hive Add-in for Excel.

Ouvrez le port "ODBC Server" :

Configuration de la connexion Hive ODBC :

 

5 - Projet de Business Intelligence

Nous allons alimenter un petit Datamart à partir de notre cluster Hadoop. Création de notre base de données dans SQL Server 2012 :

  • Création d'un Package SSIS :

Création d’un cube SSAS Tabular :

6 - Drill-Down

Nous avons alimenté le Datamart à partir de données agrégées provenant du cluster Hadoop. Grace à une requête Hive, les données de granularités les plus fines peuvent toujours être récupérées !

Nous voyons ici la complémentarité de la Business Intelligence et du Big Data

 

Les journées sur SQL Server 2012

by Romain.CASTERES 14. December 2011 20:26

 

SQL_SERVER_2012 (1)

 

Les experts francophones de SQL Server, les MVP (Most Valuable Professionnal) et les MCM (Microsoft Certified Master) se sont réunis à Paris pour 2 jours de conférence.

Voici les sujets abordés durant les conférences auxquelles j’ai pu assister :

 

La BI avec SQL Server 2012

Sébastien Madar a présenté les solutions BI intégrées à SQL Server 2012, on retiendra :

  • BISM : Le nouveau modèle sémantique BI de PowerPivot intégré dans Analysis Services :

SQL_SERVER_2012 (2)

  • Power Pivot V2.0 et ses nouveautés :
    • Diagram View : Cette fonctionnalité nous permet de visualiser rapidement  les relations entre les données de notre projet :

SQL_SERVER_2012 (3)

  • La création de Hiérarchie : Permet d’organiser les membres d’une dimension.
  • La création de perspective : Permet de définir des vues différentes sur le modèle.
  • Le tri par colonne qui permet de trier une colonne par une autre colonne :

SQL_SERVER_2012 (4)

  • La création de KPI permettant de définir des objectifs et des tendances :

SQL_SERVER_2012 (5)

  • De nouvelles fonctions DAX :
    • Changement des types de données
    • Format nombre de mesures (devises)
    • Fonctions de statistiques :
      • DistinctCount
      • Variance
      • TopN
    • "Table de temps" afin de qualifier une dimension « temporelle » et de bénéficier ainsi de fonctions dédiées.

flecheOn remarque que PowerPivot reprend petit à petit des fonctionnalités disponibles sous Analysis Services.

  • Master Data Service (MDM) V2.0 : Solution SQL Server de gestion des données de référence. La nouvelle version apporte un Add-in Excel et une interface Web permettant à un Super Utilisateur de mettre à jour le référentiel.

SQL_SERVER_2012 (6)

  • Data Quality Services (DQS) : Outil puissant de gestion de la qualité des données de l’entreprise. Les utilisateurs créent une base de connaissance, celle-ci pourra être utilisée par les développeurs dans SSIS pour assurer la qualité des données intégrées.

SQL_SERVER_2012 (7)

  • PowerView (Project Crescent) : Nouvel outil web (en Silverlight) pour la Business Intelligence. Celui-ci offre aux utilisateurs une nouvelle expérience de Reporting rapide à mettre en place et proposant des fonctionnalités de visualisations dynamiques.

SQL_SERVER_2012 (8)

  • Nouveauté concernant SSRS : La création d’alertes (Cela nécessite SharePoint).
  • Nouveautés concernant SSIS : Celles-ci sont développées plus bas dans l’article.

 

Décider entre Tabular ou Multidimensionnels pour un projet Analysis Services

François Jehl et Aurélien Koppel nous ont présentés les avantages, les inconvénients concernant la mise en place d’un modèle tabulaire plutôt qu’un modèle multidimensionnelle.

Le modèle tabulaire introduit un nouveau langage le DAX, il est l’équivalent du MDX pour le modèle multidimensionnelle.

Nous retiendrons que la compression avec le modèle tabulaire (Vertipaq) est de l’ordre de x10 contrairement à a un modèle multidimensionnelle (MOLAP) qui est de l’ordre de x3.

Il a été annoncé que les deux modèles sont amenés à perdurer car leur utilité est bien différente.

Pour résumer, le modèle tabulaire se veut proche de l’utilisateur fleche2 BI personnel (Self-service)
Le model multidimensionnelle (UDM) avec SSAS fleche2 BI d’entreprise.

D’autre part, si le besoin est un Reporting Ad-hoc avec une granularité de données très fine alors, le modèle tabulaire est le plus approprié. Cependant le modèle tabulaire n’est pas très adapté quand à la création de dimension virtuelle, de scope assignements, de relations complexes, …

SQL_SERVER_2012 (9)
flecheA noter que l’utilisation de PowerView implique un modèle de donnée tabulaire.

 

Modélisation dimensionnelle : le fondement du DataWarehouse

Florian Eiden et Jean-Pierre Riehl nous ont présentés les fondamentaux de la modélisation pour la Business Intelligence :

Les concepts de modélisation :

  • La modélisation « Data Vault » : Celle-ci est peu conseillée et mal adaptée aux technologies Microsoft.
  • Le schéma en Etoile vs Flocon

SQL_SERVER_2012 (10)

  • La nécessité de construire un système d’information à partir du besoin et non des données disponibles.
  • Les tendances du marché comme le BIG DATA avec HADOOP (Framework de stockage) et le NoSQL.


A l’issue de l’intervention, Ils nous ont présenté quelques exemples quant à la création de cubes multidimensionnels : la semi additivité (agrégation spécifique), la gestion des NULL, la relation Many to Many,…

 

Les nouveautés de SSIS dans SQL Server 2012

Thomas Ricquebourg et Jean Pierre Riehl nous ont présenté  les nouvelles caractéristiques de SSIS dans SQL Server 2012, je ne m’attendais pas à  découvrir autant de nouveautés dans cette version!

Coté Développement :

  • L’interface a été revue, elle est bien mieux pensée
  • On retient la possibilité du retour arrière avec le Control-Z !!!
  • Le « copié » est amélioré les objets liés a l’objet copiés le suivent
  • La possibilité de regrouper des tâches dans le Control Flow
  • La gestion de l’ODBC
  • La tâche Pivot a été complètement revue
  • L’arrivée d’un « vrai outil » de Mapping permettant d’exporter sous Excel les règles utilisées
  • L’insertion de nouvelles tâches en relation avec le Change Data Capture (ETL en temps réel)
  • De nouvelles fonctions (LEFT, TOKEN, TOKENCOUNT, …)
  • La possibilité de rendre Offline certaines connexions afin de résoudre les problèmes de lenteur lorsque l’on ouvre un package SSIS sur un environnement n’ayant pas les connections utilisées par le package.

SQL_SERVER_2012 (11)

flecheBref plein de nouveautés qui vont permettre aux développeurs de gagner du temps !

Coté Administration/Déploiement :

  • Abandon du DTSCONFIG et du DTEXEC !
  • SSIS est intégré à l’instance dans une base de données : SSISDB (possibilité de créer plusieurs instances SSIS sur un même serveur)
  • Un mode Legacy est disponible afin de gérer les anciennes versions (Compatibilité descendante et possibilité d’upgrader des anciens Packages)
  • Les packages ne sont plus déployés un par un, ils font partie d’un PROJET, celui-ci gère les paramètres, les connexions, …
  • Un Rollback de version de package est disponible depuis SQL Server Management Studio
  • La gestion des environnants est simplifiée
  • L’exécution d’un package peut se faire via une commande T-SQL, du code .Net, une tâche SQL, une commande Power Shell
  • Les logs sont automatiques
  • Un rapport pré-formaté nous informe des performances de l’exécution du packages, …

SQL_SERVER_2012 (12)

On retiendra une belle nouveauté « DataTaps » cela permet lors de l’exécution d’un package de créer  des ‘sondes’ permettant d’exporter les données passant par le flux (à un endroit précis) dans un fichier de sortie.

SQL_SERVER_2012 (13)


Nous attendons avec impatience la sortie du projet « Barcelona » (Dependecy Services), celui-ci a pour vocation de rendre disponible dans tous les outils de Reporting Microsoft des informations concernant les données affichées (d’où proviennent elles ? Quelles sont les étapes que celles-ci ont traversées, …)

flecheSujet très prometteur : http://www.microsoft.com/fr-fr/showcase/details.aspx?uuid=9eda43b1-e381-4711-8808-5f0c002e23f6

 

SQL_SERVER_2012 (14)

 

 

 

Pour finir voici un petit « Bonus » : Microsoft Data Explorer

SQL_SERVER_2012 (15)
Data Explorer est un outil de création de Mashup de données. Il vous permet de configurer,  nettoyer puis fusionner vos sources de données afin de pouvoir les consommer avec Power Pivot, Excel, ...

fleche2 L'idée est de rendre accessible un « ETL » à des utilisateurs aux profils non techniques.

Pour en savoir plus : http://www.microsoft.com/en-us/sqlazurelabs/labs/dataexplorer.aspx

 

flecheEncore merci aux différents intervenants !

Best Practice Microsoft BI : SSIS

by Romain.CASTERES 14. December 2011 14:08

Microsoft SQL Server Integration Services (SSIS) est un ETL (Extract, Transform, Load). Les préconisations en matière de développement varient d’une entreprise à l’autre. Cependant certaines bonnes pratiques garantissent une intégration des données et des développements faciles à maintenir.

Voici une liste non exhaustive de « Best Practice » permettant d’uniformiser, d’optimiser les développements avec SSIS:

Structuration des packages SSIS

  1. Afin de faciliter le développement, la maintenance et la reprise d’activité des différentes tâches SSIS, il est conseillé de les segmenter en différents packages SSIS.
  2. Le chargement d’une dimension ou d’une table de faits doit correspondre à un package SSIS.
  3. Le pilotage du chargement de l’ensemble des dimensions ou de l’ensemble des tables de fait doit aussi correspondre à un package.
  4. Le pilotage global correspondant au chargement des dimensions, des tables de faits et du process du cube doit également faire partie d’un Package SSIS
  5. Nommer systématiquement les composants du Control Flow et du DataFlow
  6. Si Integration Services et SQL Server sont exécuté sur le même serveur, utiliser la destination SQL Server au lieu de la destination OLE DB pour améliorer les performances.

Utilisation du composant Data Flow

  1. Commenter le code.
  2. Définir des variables pour le chemin des fichiers, les paramètres de connexion à une base de données.
  3. Nommer les colonnes au niveau de la source identiques à ceux de destination pour permettre le mapping automatique.
  4. Avec une source de type fichier activer l’option FastParse pour les dates et champ de type numérique.
  5. Définir les bons types de données pour éviter de faire des conversions de données.
  6. Ne pas sélectionner les colonnes non utilisées dans la source de données.
  7. Effectuer les conversions de type au niveau SQL dans la mesure du possible.
  8. Ne retourner que les colonnes et les lignes nécessaires :
    • Pas de SELECT *
    • Clause WHERE adaptée, utiliser de préférence un filtrage à la source de données
  9. Utilisez le NOLOCK ou TABLOCK dans vos SELECT pour supprimer les temps de verrouillage.
  10. Éviter de filtrer les données à l’aide du composant « Conditional Split ».
  11. Limiter l’usage des composants « Union All » et « Multicast ».

Traitement des cubes Analysis Services

  1. Alimenter les tables de dimension en parallèle en les regroupant dans un container de type « séquence ».
  2. Pour des chargements important de lignes :
    1. Partitionner la table de fait,
    2. Charger les données dans une table temporaire sans indexes, ni contraintes,
    3. Indexer et ajouter les contraintes de la table temporaire,
    4. Intégrer la table temporaire dans la table partitionnée.
  3. Éviter au maximum de faire des opérations bloquantes en particuliers les tris. Réaliser au maximum les tris au niveau du SGBD et configurer la source de données avec la propriété « source triée »

SSIS-3.jpg

 

Paramétrage d’un package SSIS

  1. Afin d’être indépendant de l’environnement, définir une variable d’environnement pour spécifier le chemin physique du fichier de configuration dtsconfig.
  2. Paramétrer tous les éléments variant d’un environnement à un autre comme le nom d’un serveur, le chemin d’un fichier,…
  3. Enregistrer les paramètres de configuration des packages SSIS en base de données afin de faciliter le déploiement, la maintenance, l’exploitation et la reprise des activités des packages SSIS.
  4. Définir le lien vers la base de données de configuration à travers un fichier de configuration. Le chemin de configuration doit lui-même être défini à l’aide d’une variable d’environnement pour être indépendant de la plateforme.
  5. Créer une variable de type package parent pour assurer le suivi d’exécution des packages SSIS.

SSIS-4.png

 

Exploitation

  1. Prévoir l’exécution des packages en lignes de commandes si ils doivent être pilotés depuis un ordonnanceur, un programme,…,  sinon utiliser l’agent de SQL Server.
  2. Afin d’enrichir la traçabilité de l’exécution des packages SSIS, il est nécessaire d’enrichir le schéma de base de données de chargement en rajoutant les tables ExecutionLog, StatisticLog, CommandLog et ProcessLog. Il est pertinent de créer un schéma de base de données « audit ».
  3. Tracer dans les tables précédemment mentionnés le début, la fin d’exécution des packages, ainsi les différentes étapes du DataFlow.
  4. Implémenter l’évènement au niveau du package OnError et tracer les erreurs éventuelles.
  5. Créer des rapports Reporting services pour suivre l’activité des packages.


Conception de Package en équipe

  1. Il est préconisé d’utiliser des modèles de package afin de réutiliser des composants.
  2. Afin de conserver un historique des développements, de gérer les conflits dans le travail collaboratif entre les développeurs, il est préconisé d’utiliser un outil de gestion de source.

Un package modèle est un package SSIS standard dans lequel les éléments communs auront été implémentés. Ce package doit ensuite être copié dans le répertoire :

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems

Quelques fonctionnalitées du moteur SQL Server 2008

by yazid.moussaoui 2. December 2011 17:50

Voici les principales fonctionnalités qui ont retenue mon attention lors de la présentation « le moteur SQL Server 2008 / SQL Server 2012 par l’exemple » :

·         Policy Based Management

·         Data Collection - Performance DW

·         Data and Backup Compression

·         Distributed Partitioned Views

 

Policy Based Management

Le « Policy Based Management » permet au DBA de garantir que les règles maison
sont bien respectées par tout le monde en termes de création d’objet SQL (database, table, view, login, user, stored procedure, etc)

Le DBA n’a plus besoin de vérifier/imposer à ceux qui ont la main sur les bases, les best practises SQL. Il définie les règles dans la Policy à chaque profil utilisateur de la base qui, soit reçoit une notification sur la règle à respecter, soit n’a pas les droits de création d’objets qui ne respectent pas les normes.

Le DBA peux à tout moment vérifier que les instances SQL Server respectent bien les normes qu’il à définie.

Cette fonctionnalité réduit considérablement les problèmes de production liés à des changements de configuration inopinés.

Data Collection - Performance Datawarehouse

Le « Data Collection » permet de planifier la collecte d’information sur l’état du système (CPU, I/O, utilisation RAM, etc…)  pendant une période de production intensif, ceci afin d’analyser les problèmes liés à l’exécution de requêtes.

Cette fonctionnalité permet aussi bien de faire du Capacity planning que d’évaluer à postériori l’ajout d’un index au moment de la période de production.

L’objectif est que les serveurs tournent toujours dans les meilleures conditions possibles quel que soient les charges.

Distributed Partitioned Views

Il est maintenant possible de créer des vues partitionnées, à savoir créer une vue sur des tables créé sur des bases et des serveurs physiques différents. Cela permet de répartir les données, et donc la charge, sur plusieurs serveurs physiques.

Il est possible de mettre à jours les données dans la vue sans passer par les tables physiques, tout est géré nativement.

Data and Backup Compression

 Montée en charge et volumes de données en constante augmentation
Data and Backup Compression

·         Description :

·         Support de la compression de base de données

·         Deux types de compression à choisir indépendamment pour chacune des tables / partitions d’une base

o    ROW ou PAGE

·         De plus, support de la compression du backup

·         Objectifs :

o    Gagner du stockage et donc réduire les coûts afférents à celui-ci

o    Permettre de gérer plus de données pour la
même quantité de mémoire et donc augmenter
les performances

 Utilisez la compression de données pour réduire vos coûts de stockages dans votre data warehouse tout en augmentant la performance de vos requêtes. En effet vous pourrez constater des gains importants en termes :

·         D'espace disque avec une division jusque par 7 sur la taille des backups

·         De gains de temps avec une division pouvant aller jusque 4 du temps de réalisation de vos backups

 

 

 

Tags:

SQL Server

Mise en place de la recherche Full-Text dans les documents

by Emmanuel.PITEAU 22. October 2010 09:36

La recherche Full-text dans les documents nécessite des filtres spécifiques en fonctions des types de documents.
Il faut donc les installer sur le serveur qui héberge la base de données.

Je prends ici l’exemple d’une installation sur SQL 2008 hébergé sur un serveur Windows Serveur 2008 X64 (Pour d’autre plateforme, la procédure est la même, mais les filtres peuvent changer).

Pour les documents PDF :
http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
Pour les documents DOCX :
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&displaylang=en

Une fois les filtres installés, il faut exécuter ceci dans une requête SQL :

exec sp_fulltext_service 'load_os_resources',1
exec sp_fulltext_service 'verify_signature', 0



Il faut ensuite redémarrer le service SQL Serveur.

Pour vérifier que l’installation est bien effectuée, on peut vérifier via la requête suivante :

select document_type, path from sys.fulltext_document_types where document_type = '.docx'

et

select document_type, path from sys.fulltext_document_types where document_type = '.pdf'


Il ne reste plus qu’à créer le catalogue full-text ou à le reconstruire s’il existe déjà.
Attention, pour rechercher dans les documents, la table contenant le document doit contenir une colonne avec l’extension du document, cela permet à SQL de savoir dans quel type de document SQL doit chercher et donc le type de filtre à utiliser.

Tags: , ,

SQL Server

A propos de DCube

DCube est une société de services spécialisée dans les plateformes Microsoft.

Microsoft Gold Certified Partner depuis 2007, nous comptons une trentaine de collaborateurs certifiés ayant à cœur de mettre leur passion pour la technologie au service de leurs clients.

Visitez notre site : www.d-cube.fr