Créer un rapport dans Reporting Services à
Transcription
Créer un rapport dans Reporting Services à
Créer un rapport dans Reporting Services à partir de données RSS-XML Une demande récente que j’ai reçue : Comment utiliser des données provenant d’un flux XML dans Reporting Services ? La question semble effectivement simple, car SSRS supporte bien le format XML en entrée, et Microsoft explique comment utiliser celui-ci : Reporting Services: Using XML and Web Service Data Sources Nous allons donc voir ceci plus en détails avec un des flux les plus connus maintenant : Le Flux RSS Introduction SQL Server 2005 Reporting Services est un produit permettant de présenter des données issues de différentes sources. On peut donc fournir aux utilisateurs des rapports listant des données provenant de différentes bases de données. Il arrive parfois que les bases de données refermant les informations ne soient pas accessibles, il faut donc dans ce cas trouver une solution intermédiaire en utilisant éventuellement un WebService. Nous verrons donc dans cet exemple, la méthode utilisant une source XML provenant du RSS de mon blog. Pré-requis Nous prendrons donc comme source de données le flux XML du blog : Blog Technique de Romelard Fabrice Nous devons maintenant créer un projet en utilisant l’application : SQL Server Business Intelligence Development Studio Cette application est disponible avec SQL Server 2005 ou en téléchargement au travers de la version Express : Microsoft SQL Server 2005 Express Edition Toolkit Une fois que nous avons l’application installée nous pouvons créer le projet. Nous commencerons par créer le projet, puis le rapport et enfin un peu de cosmétique autour de ce rapport. Création du projet de Reporting Il faut cliquer sur : Fichier > Nouveau > Projet On choisit alors le projet de rapports : Voyons maintenant la création de notre rapport. Création du rapport On clique avec le bouton droit dans la partie rapport et sélectionne « Ajouter un nouveau rapport » : Un assistant se lance pour nous aider dans cette création. Nous devons donner dans un premier temps la source de données : Name : DataSource1 Type : XML Connection String : http://blogs.codes-sources.com/fabrice69/rss.aspx Le site est public et ne nécessite donc pas de « credentials » particuliers. En revanche, il faut garder en mémoire que le serveur devra avoir accès à cette URL. On clique ensuite sur « Suivant » pour définir les données. Nous n’avons pas de filtrage particulier à effectuer sur les données et nous souhaitons avoir toutes les colonnes. Nous devons donc simplement mettre * dans la partie « QueryString ». Le « Query Builder » peut être pratique si on souhaite effectuer un filtrage spécifique, auquel cas, il faudra requêter sur le XML. Dans notre exemple, nous cliquons sur « Suivant ». Nous choisissons un modèle de rapport tabulaire simple et « Suivant ». Nous sélectionnons uniquement les champs qui s’afficheront en colonne et les passons dans la rubrique détails : title pubDate description On prend enfin le style « Corporate » On lui donne un nom et clique sur « Finish » Résultat du rapport Le résultat de cette création est un rapport simple qui affichera directement les derniers messages d’un blog. On retrouve l’interface de Design de ce rapport Le « preview » nous donne un exemple d’affichage de ce rapport Nous ne changerons pas les données, mais ajoutons tout de même un peu de cosmétique. Modification du rapport Modifications graphiques simples Nous devons déjà modifier les largeurs de colonne pour « description » et « title », puis changer les noms de ces colonnes. Ajout d’un lien dans la cellule de titre Nous devons aussi ajouter un lien vers le message de ce blog sur le titre de chaque post. Pour ceci, il faut cliquer sur le champ (en mode « Layout ») et dans l’onglet « property » cliquer sur l’icône de droite « Property Page » : On va ensuite dans l’onglet « navigation » de cette fenêtre et cliquer tout en bas pour « Jump to URL » et sélectionner « =Fields!link.Value », puis cliquer sur « OK » Modification du champ date Le champ date doit être transformé en type Date. Pour ceci on fait pareil que pour le lien en allant dans « Property Page » de la cellule de la date. Dans le champ « Value », nous ajoutons la fonction « CDate() » qui fera la conversion de la donnée XML en date et on clique sur « OK ». Résultat final Après ces modifications, le résultat du rapport est visible dans le « Preview » avant d’être remonté sur le serveur. Conclusion Nos données XML sont maintenant intégrées dans notre rapport que nous pouvons fournir à nos utilisateurs. Cet exemple simple peut bien sur être adapté avec des données business provenant d’applications internes sous d’autres langages ou plateforme. Voici quelques liens utiles si cet article vous a intéressé : Microsoft SQL Server : Reporting Services Didacticiels de Reporting Services Débuter avec les Reporting Services (FR) Reporting Services: Using XML and Web Service Data Sources (US) SharePoint 2007 et Reporting Services 2005 : un workaround pour intégrer les données d'une liste dans un rapport (FR) Reporting Services: Interrogation de listes Sharepoint (FR) Connecting SQL Reporting Services to a SharePoint List (US) Romelard Fabrice [MVP] Intranet/Extranet CTO - SGS