Voir le rapport

Transcription

Voir le rapport
Cuni Frédéric-A14
Projet 2 : Modification et création de
rapports
1
Genèse du projet
Durant l’année 2014, Alter Domus a décidé de changer de logo et de couleurs caractérisant
l’entreprise. On appelle cela le rebranding, venant de l’anglais signifiant : changement de
marque.
Cela signifie que tous les fichiers Word tels que les spécifications, les présentations,…,
doivent être modifiés, mais également les PowerPoint, le site internet,…, ainsi que les
rapports.
On m’a confié la tâche de modifier les modèles des rapports avec l’outil SSRS (SQL Server
Reporting Services), donc plus précisément de changer le logo, les couleurs, la polices,…
De plus, on m’a demandé de créer un rapport SSRS pour afficher l’historique de notifications
générées par une application nommée Companion.
2
Spécifications
Des directives à suivre m’ont été données sous forme de PowerPoint, comme on peut le voir
dans l’annexe 9, avec les modèles d’histogrammes, les titres, les logos, les différentes
polices,… à respecter pour modifier les rapports déjà actifs.
Concernant la création du rapport, l’application Companion sert à créer et envoyer des
notifications aux personnes souhaitées. Ainsi, toutes les notifications sont stockées en base de
données, que l’on peut voir sur figure ci-dessous, et on peut retracer l’historique de celles-ci.
Université de Technologie de Compiègne - Département Génie Informatique
1/8
Cuni Frédéric-A14
FIGURE 3 1 : Base de données de l’application Companion
Le rapport aura donc la fonction d’aller chercher en base de données l’historique des
notifications et ainsi afficher différentes informations les concernant.
3
Réalisation
3.1 Définition de l’outil SSRS
Reporting Services est un outil permettant de concevoir des rapports ou des modèles de
rapports. Ce service est intégré à Visual Studio et SQL server. Un rapport (basé sur le langage
XML) est créé depuis Visual Studio, ou par le générateur de rapport. Le rapport 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 Web Services,
-
Directement via les rapports.
3.2 Développement
3.2.1
Rebranding des rapports
Le rebranding des rapports s’est effectué via l’outil Visual Studio 2008, voir l’annexe 10,
comme pour le SSIS.
De nombreux rapports ont dû être modifiés. Ceux présents à droite dans l’annexe 10, n’est
qu’une petite partie.
Université de Technologie de Compiègne - Département Génie Informatique
2/8
Cuni Frédéric-A14
Au départ, nous avions des rapports de forme ci-dessous :
FIGURE 3 2 : Ancien rapport
L’outil Visual Studio 2008 propose du langage CSS pour modifier le design des rapports. En
suivant ainsi les cours de CSS appris sur le site Pluralsight, mais également personnellement,
et en suivant les directives imposées pour le rebranding, j’ai donc procédé au changement des
rapports comme le montre la figure ci-dessous.
On peut voir sur la figure que les propriétés des titres, des tableaux,…, se modifient très
simplement grâce au CSS. Un rapport est constitué comme une page web, avec un Header, un
Body et un Footer.
FIGURE 3 3 : Rapport modifié et ses propriétés CSS
Université de Technologie de Compiègne - Département Génie Informatique
3/8
Cuni Frédéric-A14
3.2.2
Création du rapport pour l’application Companion
3.2.2.1
Requêtes SQL
Comme dit dans les spécifications, le but du rapport est d’afficher l’historique des
notifications en fonction de la notification choisie. Il faut donc afficher la table
NotificationHistory en joignant les informations d’autres tables.
Actuellement dans cette table nous avons deux historiques de notifications crées pour
l’exemple, comme le montre la figure 34.
FIGURE 3 4 : Table NotificationHistory de la base de données Companion
Le rapport devra présenter deux tableaux donc deux requêtes SQL. Un tableau où seront
affichés les détails de la notification en question et un autre avec l’historique de celle-ci.
Plus précisément dans le premier tableau, il suffira d’afficher la table NotificationHistory en
joignant le nom et prénom de la personne désignée par la colonne EmployeeId. Pour se faire
nous allons utiliser la requête ci-dessous, avec des INNER JOIN. (Jointure de tables).
FIGURE 3 5 : Requête d’affichage de l’historique de la notification souhaitée
Cette requête permet d’afficher le nom de la notification à l’aide d’une jointure avec la table
Notification, ainsi que le nom et le prénom de l’employé désigné par la colonne EmployeeId à
l’aide d’une jointure avec la table EMPLOYEES de la base de données Master Data. Les
autres colonnes proviennent de la table NotificationHistory. On obtient la table ci-dessous :
FIGURE 3 6 : Tableau résultant de la requête 1
Université de Technologie de Compiègne - Département Génie Informatique
4/8
Cuni Frédéric-A14
Dans le second tableau, il faudra afficher plus de détails sur la notification en question, à
savoir le type de notification, son statut, sa fréquence, ainsi que la dernière action effectuée
concernant cette notification, c’est-à-dire afficher la date la plus récente enregistrée dans la
table Log de la notification ainsi que le message de cette action. Ceci se fait au travers de la
requête ci-dessous :
FIGURE 3 7 : Requête d’affichage du détail de la notification
Le principe est le même que la requête précédente en utilisant des jointures avec les autres
tables. Cependant pour afficher le message du dernier log enregistré à propos de la
notification, il a fallu utiliser un « With » qui va permettre d’afficher le dernier Log de chaque
notification d’où l’utilisation du MAX(L.LogDate) c’est-à-dire la date de Log la plus récente.
Ensuite lorsque l’on fera la jointure avec la table Log, on le fera sur les identifiants de la
notification et de la table Log, mais on joindra aussi la colonne LogDate de la table Log et de
la table MaxLogDate résultante du « With ». Ainsi on pointera sur la ligne exacte du dernier
Log de la notification et on pourra ainsi afficher les informations souhaitées à savoir :
FIGURE 3 8 : Tableau résultant de la requête 2
3.2.2.2 Création du rapport
Comme le rebranding des rapports, ce rapport a été créé selon le modèle de l’entreprise,
comme le montre la figure 39. En ce qui concerne les tableaux à afficher, il suffit de créer un
Université de Technologie de Compiègne - Département Génie Informatique
5/8
Cuni Frédéric-A14
Dataset comme présent sur la gauche sur la figure. Dans cette dernière, on définit la base de
données où les informations vont être prises, à savoir Companion, et on colle une des requêtes créée
précédemment.
Il
y
aura
deux
tableaux,
donc
deux
Dataset
et
deux
requêtes.
FIGURE 39 : Création du rapport
Cependant lorsque l’on ouvrira ce rapport, on souhaite avoir l’opportunité d’afficher les
résultats des tables précédentes, en fonction d’une ou plusieurs notifications choisies. C’est-àdire que l’utilisateur aura une liste déroulante des notifications, et il cochera celles qu’il
souhaite.
Pour se faire on crée un autre Dataset avec seulement l’identifiant et le nom de chaque
notification, donc ce Dataset pointe sur la table Notification. On crée à présent un paramètre,
qui va recevoir un identifiant de notification et afficher le nom de celle-ci ; et on doit ajouter
la ligne suivante, figure 40, dans chaque requête, ce qui va permettre d’afficher seulement les
informations des requêtes sélectionnées par l’utilisateur.
FIGURE 4 0 : Condition avec paramètre sur les requêtes
Université de Technologie de Compiègne - Département Génie Informatique
6/8
Cuni Frédéric-A14
3.3 Phase de Tests
En ce qui concerne le rebranding de rapport, un simple test unitaire a été réalisé pour vérifier
la cohérence des données obtenues lors de l’exécution du rapport.
En revanche, pour le rapport généré, il suffit de choisir les notifications souhaitées sur la liste
déroulante et de cliquer sur « View Report » comme le montre la figure 41.
FIGURE 4 1 : Test et affichage du rapport
On remarque que l’on obtient bien les mêmes résultats que lors de l’exécution des requêtes en
base de données.
3.4 Migration du projet
Une fois les rapports modifiés et le rapport créé validés, ils peuvent être envoyés à l’équipe
Delivery qui les déploieront sur le serveur UAT et feront les dernières vérifications pour
ensuite les migrer sur le serveur de production.
4
Conclusion
Ce projet m’as permis d’aider l’entreprise dans le rebranding suite à un changement de logo
mais également d’apporter mon aide dans le projet Companion, où ma tâche fut de créer un
rapport sous SSRS.
Université de Technologie de Compiègne - Département Génie Informatique
7/8
Cuni Frédéric-A14
Celui-ci m’a fait découvrir l’outil SSRS et m’a permis d’avoir l’opportunité de créer un
rapport du début à la fin et me perfectionner en requête SQL.
Université de Technologie de Compiègne - Département Génie Informatique
8/8