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