Débuter avec les Reporting Services

Ce tutoriel traite de l'utilisation des Reporting Services disponibles avec SQL Serveur pour la conception et la visualisation de reports. Il s'adresse aux grands débutants de Visual Studio et SQL Serveur. Tout ce qui est traité dans ce tutoriel, je l'ai personnellement acquis en peu de temps, donc tout est possible.

Commentez Donner une note à l'article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Introduction

Ce tutoriel présente tout ce que j'ai pu apprendre sur une courte durée des reporting services avec SQL Serveur 2005. Ce tutoriel s'adresse à un public débutant. Je vous présenterai ici, la création d'un projet jusqu'à la visualisation finale d'un report, et ce qu'il faut savoir concernant les bases des reporting Services.

Dans un premier temps nous aborderons quelques généralités concernant les reporting services à travers une brève définition et la présentation de leurs avantages et inconvenients. Enfin, nous créerons un report où sera décrit toute la marche à suivre en vue de sa conception.

I. Généralités sur les Reporting Services

I-A. Pré-requis et définition

  • Pré-requis : Visual Studio 2005 et SQL Serveur 2005 (ou SQL Serveur 2000) en vérifiant que vous avez bien coché la case Reporting Services lors de l'installation ainsi que IIS.

Il vous est possible de télécharger gratuitement une version express de SQL Server 2005 qui inclus le serveur et les Reporting Services :
Microsoft SQL Server 2005 Express Edition with Advanced ServicesMicrosoft SQL Server 2005 Express Edition with Advanced Services
Pour la conception des reports, il vous est possible de télécharger gratuitement Microsoft SQL Server 2005 Express Edition Toolkit :
Microsoft SQL Server 2005 Express Edition ToolkitMicrosoft SQL Server 2005 Express Edition Toolkit

Bien entendu, il vous est possible d'utiliser les versions commerciales des outils Microsoft Visual Studio et Microsoft SQL Server 2005.

Il vous faut les installer dans l'ordre donné.

  • Définition : Reporting Services est un outil permettant de concevoir des reports ou des modèles de reports. Ce service est intégré à Visual Studio et SQL server comme vu précédement. Un report (basé sur le langage XML) est crée depuis Visual Studio, ou par le générateur de report. Le report est publié sur un serveur Reporting Services et les utilisateurs pourront visionner ces rapports selon 3 possibilités :

    - Directement depuis le Portail Reporting Services
    - Depuis des pages WEB appelant les WebServices
    - Directement via les reports

I-B. Avantages et inconvénients des Reporting Services

  • Avantages :

- Déploiement possible via l'interface web http://nomserveur/reports/
- Développement et déploiement des reports via SQL Server BI Development Studio ou Visual Studio
- Edition possible via un éditeur de texte (format XML)
- Simple et puissant
- Parfaitement intégré au reste de la plateforme .Net (dont ASP.Net)
- Relativement facile à prendre en main
- Fonctionne aussi sans serveur (en mode local)
- Ne nécessite pas de connaître le SQL (ou très peu): requêteur intégré

  • Inconvénients :

Etant une pratiquante de Crystal Report XI ou encore Report Builder 6i, je peux vous dire que par comparaison je n'ai rien trouvé qui puisse me pousser à trouver des inconvénients, en tout cas pas face à ces deux produits. Certes, le design est peut-etre plus poussé mais les possibilités sont identiques tout en ayant la simplicité des Reporting Services et du déploiement.

II. Conception et déploiement d'un report

Dans cette partie, nous allons réaliser étape par étape un report, de sa conception à son déploiement. Personnellement, dans ce cas tout est réalisé avec Microsoft Visual Studio 2005 et SQL Server 2005 avec Reporting Services.

II-A. Création du projet report et accès aux données

  • Etape 1 : Création d'un nouveau projet de type Report Server

Créez un nouveau projet de type Projet Report Server et nommez le, comme ci-dessous:

Image non disponible
  • Etape 2 : Création d'un nouveau report au sein du projet

Il vous est possible d'ajouter un report soit via un assistant de création de report, soit comme suit, en ajoutant un nouvel élément, ce qui laisse davantage de liberté vis à vis de la conception :

Image non disponible

Puis, vous devez selectionner un type "rapport" et bien entendu le renommer :

Image non disponible

Notez que l'extension d'un report reporting services est de type ".rdl".

Nous pouvons voir le nouveau report créé dans l'arborescence de votre projet. Chaque nouveau report de ce projet doit être visible au sein de cette arborescence :

Image non disponible
  • Etape 3 : Connexion au serveur, connexion aux données :

Votre serveur doit être démarré pour pouvoir vous connecter. Saisissez dans une invite de commande la commande net start mssqlserver (si vous en êtes l'administrateur sinon contactez votre administrateur :p ).

Dans l'explorateur de serveur, cliquez droit sur connexion de données et faites ajouter une connexion. Bien entendu, il faut que votre base de données soit déjà créée:

Image non disponible


Nous utiliserons ici la base de données de Microsoft déjà fournie nommée AdventureWorks disponible et téléchargeable gratuitement :
Adventure works BDD exempleAdventure works BDD exemple

Pour vous connecter, il vous faut remplir la fenêtre ci-dessous afin de spécifier la source de données, le nom du serveur (ici . signifie serveur local), le type d'authentification (compte Windows ou identification SQL Server et donc sa chaine de connexion) ainsi que la base de données que vous souhaitez utiliser en source de données.

Image non disponible

Vous pouvez constater dans votre explorateur de serveur qu'une connexion à votre serveur est ajoutée. De même pour votre base de données (une prise est modélisée) ce qui vous donne accès aux détails de type tables, vues, procédures, etc. directement à travers cette fenêtre:

Image non disponible

Vous devez ensuite relier votre projet aux données à utiliser. Pour cela, cliquez droit sur le dossier sources de données partagées dans l'explorateur de solution. Ajoutez votre source de données comme vous aviez ajouté votre connexion serveur et connexion données (la fênetre est identique).

Image non disponible

Nous avons fait le tour de tout ce qui est création de projet, report et connexion aux données. Passons à la conception dudit report.

II-B. Conception d'un report

Rapide tour de l'univers conception d'un report:

Image non disponible

Comme vous pouvez le constater ci-dessus, pour la conception d'un report nous disposons de 3 onglets:

  • Données : C'est ici que les DataSet qui doivent alimenter votre report(vos requêtes) sont créés.
  • Mise en page : C'est ici que vous gerez tout ce qui est diposition de vos champs, type de graphe de votre report... En bref, tout ce qui touche à la présentation de vos données.
  • Aperçu : C'est ici que vous pouvez obtenir un aperçu rapide de votre report, avant son déploiement.

Les présentations sont faites. Passons à la conception d'un report simple, que nous verrons en 3 étapes.

  • Etape 1 : Préparation des DataSets (requêtes, données que vous souhaitez utiliser pour votre report) :

Deux solutions s'offrent à vous.

  1. Soit vous connaissez tous vos champs et tables, dans ce cas vous pouvez directement faire "nouveau DataSet", le nommer et écrire la requête à utiliser comme ci-dessous :
Image non disponible

Validez votre DataSet pour que celui-ci soit créé et utilisable dans votre report par la suite. Cette solution implique aussi de connaître le langage SQL.

2. Soit vous passez par l'explorateur de serveur, en affichant les tables comme ci-dessous. Faites clic droit sur une table et créez votre requête :

Image non disponible

Comme vous pouvez le voir, vous disposez d'un assistant (query builder) qui vous permet de créer vos requêtes sans avoir à connaître ou très peu le SQL. Ce qui ne vous empêche pas de modifier la requête générée selon vos besoin.

Image non disponible

Récupérez la requête générée et ajoutez-la dans le champ "champ de requête" en créant votre DataSet.


Dans tous les cas, exécutez votre requête (point d'interrogation en rouge). Vous obtenez la liste des résultats de votre sélection ainsi que le DataSet dans l'explorateur de DataSet (à gauche). Dans notre cas, nous avons sélectionné le totaletat ainsi que l'etat.

Image non disponible

Un DataSet = une requête.

  • Etape 2 : La mise en page :


Au niveau de l'onglet mise en page, nous allons construire l'apparence, la mise en page et le design de notre report.

Pour afficher la boîte à outils nécessaire à la construction du report, rendez-vous au menu Affichage puis boîte à outils (Alt+Ctrl+X).
Pour afficher les entêtes et/ou pieds de page du report, rendez-vous au menu Rapport. Les entêtes et pieds de page ne peuvent contenir de données dites de base. Celles-ci sont obligatoirement dans le corps du report.

Ci-dessous l'environnement de conception de la mise en page du report. Nous y avons affiché la boîte à outils, les entêtes et pieds de page :

Image non disponible

Je vous laisse découvrir tous les types de graphiques possibles ou encore les fonctionnalités, certes explicites, de la boîte à outils.


Pour utiliser la boîte à outils, faites glisser l'élément choisi dans votre report. Dans notre exemple, ce sera un graphique :

Image non disponible

Ensuite, le but est de choisir son type de graphique (clic droit sur le dessin de graphique) et de faire glisser les champs de données de vos DataSet sur le report, en fonction de ce que vous désirez. Dans notre cas, notre report présentera les données sous forme d'un anneau éclaté :

Image non disponible


Avant de s'occuper des données, une brève explication sur ce que sont les champs de données, de catégories et de série que l'on peut voir sur le graphique : c'est dans ses champs que l'on fait glisser les champs de DataSet que vous souhaitez afficher.

  • Champ de données : correspond à la valeur d'un point d'un graphique (soit F(x))
  • Champ de série : correspond à une colonne de données
  • Champ de catégories : correspond à l'axe des X

Comme vous pouvez le constater, nous avons fait glisser le champs état en champ de série du graphique et le champ totalétat en champs de données. Cela nous affichera donc le nombre de personnes pour chaque état :

Image non disponible

Concernant les propriétés d'affichage du report, vous disposez de plusieurs onglets qui eux-mêmes contiennent des propriétés modifiables selon le type de graphique. Il vous est possible de modifier les titres, les axes, les échelles, les effets, les couleurs, etc.

Image non disponible

Pour afficher l'étiquette de valeur des éléments affichés, rendez-vous dans les propriétés du projet, onglet données, puis faites modifier la valeur. Ensuite, au niveau de l'onglet étiquette des points de la nouvelle fenêtre, cochez la case "Afficher les étiquettes des points" et sélectionnez la valeur à afficher :

Image non disponible
  • Etape 3 : L'aperçu du report :

En cliquant sur l'onglet aperçu, vous obtenez donc un aperçu de votre report, de sa disposition, etc.

Image non disponible

II-C. Déploiement du report

Pour vous éviter une "erreur" lors de l'execution de votre report, spécifier dans les propriétés du projet report l'url que vous utilisez pour déployer vos reports, et mettez la propriété OverwriteDataSources à true. Cela vous évitera d'avoir un message d'avertissement vous signalant que la base de données existe déjà (car elle est rechargée à chaque exécution). Si vous changez de serveur, changez aussi l'url des propriétés du projet.

Image non disponible

Pour déployer votre solution, vérifiez que Reporting Services est démarré. Dans le cas contraire, saisissez dans une invite de commande la commande net start reportserver (si vous en êtes l'administrateur sinon contactez votre administrateur :p ).

Vous avez accès au serveur de rapports en lançant le navigateur Internet puis en saisisant l'URL suivante: http://nomserver/reports/ ou http://localhost/reports/ .
Dans notre cas, l'url daccès au reporting services est http://archange/reports/.


Pour déployer votre projet, cliquez droit sur votre solution et faites "Déployer" comme suit :

Image non disponible

Vous pouvez surveiller le déploiement de votre projet grâce à la fenêtre de sortie, qui vous signale si tout c'est bien passé ou non, les erreurs, ce qui a été déployé ou non, etc.

Image non disponible

Après le déploiement, il est possible d'accéder à travers un navigateur à votre report. Il vous suffit de cliquer sur celui que vous souhaitez afficher :

Image non disponible

Voici donc le résultat final suite à la conception et au déploiement du report :

Image non disponible

Si vous disposez de plusieurs report, utilisez la barre de défilement que l'on peut voir ci-dessus.

Conclusion

Nous venons de voir comment concevoir un report à l'aide des Reporting Services de Microsoft SQL Server 2005. L'exemple réalisé est relativement simple mais les possibilités de Reporting Servces sont bien évidement plus étendues (les paramètres, qui permettent d'afficher le report selon les paramètres saisis, une mise en page plus élaborée, etc.). Je vous invite aussi à ne pas hésiter à consulter l'aide, internet, la MSDN ou encore de tester par vous-même toutes les possibilités.

Liens utiles

Remerciements

Je remercie Fadace et Ditch pour leurs relectures.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2016 Fleur-Anne BLAIN. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.