mercredi 6 avril 2011

TFS : Rapports Custom et Data Driven Subscription Part 1

Reporting Services est un des piliers des plus importants pour ce qui concerne la gestion de la communication avec TFS. Premièrement, avec l'utilisation du DataWarehouse relationnel du Cube Olap, il est très simple d'implémenter des rapports personnalisés qui correspondent aux besoins en terme de communication du projet. De plus, Reporting Services fournit un mécanisme de Souscription de deux manières :

· Subscription


· Data Driven Subscription


Le but de cette article est de démontrer étape par étape l'implémentation d'un Rapport personnalisé exposé au travers d'une Data Driven Subscription


Création et Personnalisation d'un Rapport TFS


Le système de bases de données TFS est composé de 3 différent Repository : TFS OLTP Database qui contient toutes les données "live", TFS Relational Warehouse TFSWarehouse qui exposent les données via un schéma très facile à comprendre parce qu'optimisé pour les requêtes et le reporting, et enfin un cube OLAP, permettant un accès à via Microsoft SQL Server Analysis Services au travers du langage de requêtage multidimensionnel MDX. Ce troisième reporsitory est particulièrement interessant pour l'analyse de données historisées et de valeurs précalculées et ou agrégées.



Pour ce qui concerne le cube OLAP, les faits et dimensions sont organisés dans un modèle en étoile tel que schématisé ci dessous :



Les tables de faits disponibles dans le warehouse relationnel TFS sont :

Ci dessous la table des dimensions disponibles dans le Warehouse relationnel TFS :

Prérequis pour la création d'un rapport personnalisé basé sur TFS

  • Un Serveur TFS accessible

  • BIDS (Business Intelligence Development Studio) ou Report Builder

  • SQL 2008 (R2 optionel) avec les outils clients
Création du rapport personnalisé

Démarrer Business Intelligence Development Studio et créer un nouveau Projet en utilisant le Project template Report Server dans la rubrique Business Intelligence


Le projet est généré avec des dossiers vides, l'étape suivante consiste à créer les Data Sources, une pour se connecter au Warehouse relationnel et l'autre pour une connection au cube. Pour ajouter la data source relationnelle procéder comme suit :



  1. Cliquer bouton droit sur le dossier Shared data Sources et choisir la commande Add New Data Source

  2. Dans l'onglet General, Taper TfsReportDS pour le nom (nom par défaut pour les rapports)

  3. Dans la zone de liste choisir Microsoft SQL Server

  4. Créer la chaine de connection permettatnt de se connecter à l'instance SQL qui héberge les données relationnelles

  5. Selectionner la base TfsWarehouse (Il faudra vérifier de bien disposer des droits d'accès sur cette base auprès du DBA)

  6. Valider
L'étape suivant consiste à créer la Data source pour se connecter au cube en procédant comme suit

  1. Cliquer bouton droit sur le dossier Shared data Sources et choisir la commande Add New Data Source

  2. Dans l'onglet General, Taper TfsOlapReportDS pour le nom (nom par défaut pour les rapports)

  3. Dans la zone de liste choisir Microsoft SQL Server Analysis Services

  4. Créer la chaine de connection permettatnt de se connecter à l'instance SQL qui héberge les données multidimensionnelles

  5. Selectionner la base TfsAnalysis (Il faudra vérifier de bien disposer des droits d'accès sur cette base auprès du DBA)

  6. Valider

On obtient le résultat suivant :



Dans l'étape suivante, on crée le rapport : Cliquer Droit sur le noeud Reports et choisir Add New Report


Le report wizard apparait Cliquer Next. Il faut noter que le wizard permet de créer rapidement des rapports complexes avec du drill down, des regroupements et a donc une vraie plus value

Choisir Shared Data Source comme montré ci dessous puis cliquer Next

Cliquer Query Builder pour construire la requête du rapport

Le Designer du Query Builder appairait, Selectionner la perspective Current Work Item (en fonction de la version du cube, le nommage de ces objets peut changer) mais l'interface est très simple à prendre en main et permet d'exécuter les requêtes pour évaluer le résultat

Tous dabord, nous allons glisser les mesures Current Work Item Count dans le Data Pane

Puis nous glissons la dimension Team Project Name pour le filtrage

On Glisse également la dimension Work Item Type puis nous cochons la case Parameter pour les deux champs (à droite de la zone de filtre) ce qui va générer dans le rapport automatiquement les drops down list de filtrage permettant à l'utilisateur final de modifier ces paramètres de filtrage. Si la case n'est pas coché, le filtrage sera non modifiable à l'éxécution

Finalement, glisser les chapmps suivants dans la zone Data Pane : Work Item Type, ID et Title tel que montré ci dessous :

Valider. A noter que bien évidemment, cette requête sera modifiable à posteriori

Cliquer Next et choisir l'option Tabular

Organiser les options de Regroupement et d'affichage des données comme montré ci dessous

Cliquer Next et choisir les options suivantes : Drill Down et SubTotlas. Drill Down permettra d'explorer de manière hiérarchique le rapport

Cliquer next et choisir un style de rapport

Cliquer Next et entrer le nom du rapport

Le rapport est alors affiché en mode Prévisualisation dans Visual Studio

Maintenant, nous allons améliorer le look & feel de ce rapport en utilisant les options de format, positionnement. En mode Design, nous pouvons modifier les couleurs de premier plan et d'arrière plan ainsi que les polices et taille de police

Ci dessous, un exemple de rendu avec différentes couleurs par groupe ( le cumul en bleu, le détail en jaune)

Maintenant, nous allons ajouter une Jauge au rapport (nouveau controles de la boite à outils avec SQL 2008 Reporting Services). Cliquer Ctrl Alt X pour afficher la boite à outils, selectionner le composant jauge et glisser le sur la surface de design du rapport

choisir le style le plus adéquat

Valider, la jauge apparait sur la surface de design, glisser la mesure WorkItemCount à partir du Dataset dans la zone Data Field de la jauge

Procéder au paramétrage du Range de la jauge pour gérer un seuil de qualité par exemple, on est en zone rouge dès que le niveau de bug dépasse 60

Paramétrer en fonction du contexte

Finaliser les options de couleurs

Valider et activer l'onglet Preview du rapport afin d'avoir un apercu du rendu final avec les données réelles du Datawarehouse ou Cube Olap

Ci dessous, un autre version de ce rapport avec un graphique en plus et une initialisation du tabix en mode collapse







Aucun commentaire: