Comment créer un rapport avec l'assistant Crystal Reports
L'assistant Crystal Reports vous guide à chaque étape de la création d'un rapport. L'aide en ligne de Crystal est accessible à partir de chaque écran de l'assistant à l'aide du bouton Aide.
- Crystal Reports Designer s'ouvre automatiquement lorsque vous exécutez le rapport nouvellement créé dans EMu (voir Exécuter le rapport pour plus de détails).
S'il n'est pas ouvert, ouvrez Crystal Reports Designer maintenant.
- Sélectionner Assistant de création de rapports dans la rubrique Nouveaux rapports
-OU-
Sélectionner Fichier>Nouveau>Rapport standard (CTRL+N) dans la barre de Menu.
L'Assistant de création de rapports standard s'affiche :
La première étape consiste à se connecter à la source de données appropriée pour le type de rapport que vous créez :
EMu utilise ODBC (Open Database Connectivity) pour se connecter à Crystal Reports et il est nécessaire de sélectionner la source de données ODBC pour le module pour lequel vous concevez le rapport.
- Double-cliquer sur Créer une nouvelle connexion pour afficher son contenu.
- Double-cliquer sur ODBC (RDO) pour afficher la boîte ODBC (RDO).
- Sélectionnez le fichier de base de données approprié dans la fenêtre Nom de la source de données.
Dans cet exemple, nous sélectionnons EMu Catalogue puisque c’est le module à partir duquel le rapport a été lancé dans l’étape 1, et à partir duquel les données pour le rapport sont extraites :
- Cliquez sur Terminer pour fermer la fenêtre ODBC (RDO).
Un nouveau dossier (Catalogue EMu dans cet exemple) apparaît désormais sous le dossier ODBC(RDO) :
Le contenu du Catalogue EMu est extrait de :
C:\Users\[nom d'utilisateur]\AppData\Local\KESoftware\Reports\ecatalogue
, qui est mis à jour chaque fois qu'un rapport est exécuté dans le module Catalogue dans EMu.
- Sélectionnez le ou les tables que vous souhaitez inclure dans le rapport.
Note: Comme nous l'avons vu, un ou plusieurs fichiers .csv sont générés lorsque nous exécutons un rapport dans EMu : le fichier .csv principal et un fichier .csv séparé pour tout champ étant une table de valeurs ou pour tout groupe (voir 2. Sélectionner les champs à inclure dans le rapport : l'onglet Champs pour plus de détails).
Dans cet exemple, deux fichiers .csv ont été générés : ecatalog.csv (le fichier .csv principal) et Group1.csv (qui stocke les valeurs des champs Nom du créateur : (Détails du créateur) et Rôle : (Détails du créateur)).Pour inclure tous les fichiers .csv pour une source de données particulière, sélectionner la source requise sous le dossier ODBC (RDO) (par exemple EMu Catalogue) et cliquer le bouton flèche double .
-OU-
Pour déplacer un seul fichier .csv dans la liste Tables sélectionnées, sélectionner le fichier .csv (par exemple ecatalogue.csv) et cliquer le bouton flèche .
Dans cet exemple, nous ne déplaçons que le fichier .csv principal,
ecatalog.csv
, vers la liste Tables sélectionnées :Group1.csv contient les valeurs de trois champs concernant le créateur de l'objet - son nom, son prénom et son rôle. Les champs Nom du créateur et Rôle sont tous deux des tables de valeurs (ils peuvent contenir plus d'une valeur) et nous devons ajouter ces données à notre rapport en utilisant un sous-rapport. Lisez la remarque IMPORTANTE à l'écran Lien pour savoir pourquoi nous utilisons un sous-rapport pour inclure les valeurs dans Group1.csv plutôt que d'ajouter Group1.csv à la liste des Tables sélectionnées ici.
- Cliquer Suivant pour continuer.
Ce qui se passe ensuite dépend du nombre de fichiers .csv (tables) ajoutés à la liste Tables sélectionnées :
- L'écran Lien s’affiche si deux ou fichiers .csv ou plus ont été ajoutés à la liste Tables sélectionnées.
-OU-
- L'écran Champs s'affiche si un seul fichier .csv a été ajouté à la liste Tables sélectionnées.
Dans cet exemple, l'écran Champs s'affiche.
- L'écran Lien s’affiche si deux ou fichiers .csv ou plus ont été ajoutés à la liste Tables sélectionnées.
Note: L'écran Mise en relation s’affiche seulement si deux ou plusieurs tables (fichiers .csv) ont été ajoutées à la liste Tables sélectionnées. Dans l’exemple Comment créer un rapport Crystal report en utilisant l’Assistant Crystal, une seule table a été ajoutée à la liste Tables sélectionnées donc l’écran Mise en relation ne se serait pas affiché. La démonstration ci-dessous est pour montrer comment utiliser l’écran Mise en relation mais les changements réalisés ici n’auront pas d’influence sur le reste de cet exemple.
L'écran Lien permet de configurer les liens qui associent les tables incluses dans le rapport. Les tables sont liées par des champs clés communs, dans cet exemple, ecatalogue_key :
Ce n’est pas l’endroit pour décrire en détails comment Crystal Reports gère les liens entre les tables, mais un aperçu suffira.
Même si Crystal comprend que les tableaux sont liés entre eux, il ne les associe pas toujours de la manière la plus utile. En général, il est logique de penser que la direction d'un lien va de la table principale, en principe la table de gauche, vers une table de consultation. Dans cet exemple, Crystal n'a pas identifié ecatalog_csv
comme la table principale et, comme nous le verrons, il a appliqué le type de Jointure par défaut Jointure interne, qui n'est pas particulièrement utile.
Si nous sélectionnons Options de lien, nous voyons qu’il y a quatre Types de jointure possibles dans Crystal Reports.
Note: Le bouton Options de lien est grisé et inaccessible jusqu’à ce qu’un lien entre deux tables soit sélectionné (cliquer sur un lien pour le sélectionner – il deviendra bleu).
Les quatre Types de jointure sont :
- Jointure interne
- Jointure externe gauche
- Jointure externe droite
- Jointure externe complète
Chaque Type de jointure spécifie des conditions différentes pour déterminer quels enregistrements s’afficheront dans le rapport. Comme exemple, considérons le scénario Jointure interne : Table A est le table principale, avec des liens à la Table B (la direction du lien est Gauche – Droite / Table A à Table B). Si le Type de jointure est Jointure interne, uniquement les enregistrements de la Table A qui ont un lien avec un enregistrement de la Table B seront listés dans le rapport. Si un enregistrement de la Table A n’est pas lié à un enregistrement de la Table B, il ne s’affichera pas dans le rapport.
Note: Le Type de jointure par défaut dans Crystal Reports est Jointure interne : il se peut que cela n’affiche pas tous les enregistrements que vous souhaitez inclure au rapport.
Dans cet exemple, pour que tous les enregistrements de la Table A soient listés dans le rapport (qu’ils soient ou non liés à un enregistrement de la Table B) il faut choisir l’option Jointure externe gauche.
Important: Si les enregistrements de la Table A sont liés à deux enregistrements ou plus de la Table B (en d’autres termes, le champ stocké dans la Table B est une table de valeurs, comme Autres noms : (Détails sur la Personne)dans le module Personnes / Organisations), il est plus approprié de créer un sous-rapport pour ajouter les enregistrements dans la Table B. En utilisant la méthode décrite ci-dessous, si un enregistrement de la Table A est liée à trois enregistrements de la Table B, l'enregistrement de la Table A sera répertorié trois fois dans le rapport.
Par exemple, la Table A enregistre le nom de famille d'une Personne (Smith). La Table B enregistre les Autres noms de la Personne (Smithy, Smit) ; si nous associons les tables comme décrit ci-dessous, deux enregistrements apparaîtront dans le rapport avec : 1. Smith Smithy 2. Smith Smit. Si vous créez un sous-rapport pour la Table B et que vous l’associez à la Table A, notre enregistrement de la Table A ne sera répertorié qu'une seule fois, mais comprendra les deux valeurs de la Table B. Voir Comment ajouter un sous-rapport pour plus de détails.
Pour corriger la direction des jointures et pour spécifier un Type de jointure approprié :
- Cliquez sur Effacer les liens.
Une boîte de dialogue s’affiche :
- Cliquez sur Oui pour continuer.
Les liens sont supprimés entre les différentes tables.
- Placer la table principale sur la gauche.
- Dans la table principale, sélectionnez le champ clé (ecatalogue_key dans cet exemple) et faites-le glisser sur le champ clé équivalent dans chaque table de consultation :
Note: Les tables de consultation peuvent elles-mêmes être liées à d'autres tables de consultation en utilisant un autre champ clé. Il sera également nécessaire de spécifier ces liens.
- Sélectionner le lien entre deux tables (il devient bleu).
- Cliquer Options de lien pour afficher la boîte Options de lien.
- Sélectionner le bouton radio d’un Type de jointure. Dans cet exemple nous sélectionnons Jointure externe gauche :
Note: Si vous avez un doute, utiliser l’option Jointure externe gauche : « Les résultats obtenus d'une jointure externe gauche incluent tous les enregistrements dont les valeurs du champ relié dans les deux tables correspondent exactement. Ils incluent également une ligne pour chaque enregistrement dans la table principale (gauche) dont la valeur du champ relié n'a aucune correspondance dans la table de recherche. »
- Cliquer sur OK.
Si nécessaire, répétez l'opération pour tous les liens entre les tables :
Note: Note : les liens indiquent désormais la direction de la Jointure (de gauche à droite).
- Cliquer Suivant pour continuer.
L'écran Champs s'affiche.
- Double-cliquez sur Créer une nouvelle Connexion et développez ADO.NET (XML) :
L'écran suivant s'affiche :
- Dans le champ Chemin du fichier, localisez et sélectionnez le fichier xmldata.xml créé lors de la première exécution du rapport.
- Cliquez sur Terminer pour revenir à l'Expert Bases de données :
- Sélectionnez row et ajoutez-la au volet Tables sélectionnées :
- Cliquer sur OK.
Tip: Vous trouverez des détails sur l'emplacement du fichier xmldata ici.
Tip: Dans la capture d'écran ci-dessus, Group1
contient les valeurs des champs regroupés lorsque les champs ont été ajoutés au rapport EMu. Ces champs sont des tables de valeurs (ils peuvent contenir plus d'une valeur). Il est nécessaire d'utiliser un sous-rapport pour ajouter ces données au rapport.
Les valeurs des champs du Catalogue sont contenues dans la table row.
Note: Il est important de ne pas déplacer le xmldata.xml
fichier car cela poserait des problèmes lors du partage du rapport avec d'autres utilisateurs.
Sur l'écran Champs nous sélectionnons les champs à inclure dans le rapport :
- Sélectionner les champs dans la liste Champs disponibles et déplacer-les dans la liste Champs à afficher :
Pour sélectionner tous les champs, cliquer sur le bouton flèche double
-OU-
Sélectionner les champs individuellement (en maintenant la touche
CTRL
appuyée tout en cliquant sur les noms des champs pour sélectionner plus d’un champ), et cliquer sur le bouton flèche simple : - Pour réorganiser les champs de la liste Champs à afficher, sélectionnez un champ et cliquez sur les flèches situées au-dessus de la liste Champs à afficher.
L'ordre des champs dans cette liste affecte l'ordre dans lequel les champs sont classés sur le rapport (de gauche à droite). Le champ en haut de la liste apparaît à l'extrême gauche du rapport.
- Cliquer Suivant pour continuer.
L'écran Regroupement s'affiche.
Sur l'écran Regroupement nous spécifions comment les champs seront groupés dans le rapport. C’est une étape facultative.
- Si nécessaire, sélectionner un champ par lequel grouper les enregistrements et cliquer sur le bouton flèche simple pour l’ajouter à la liste Regrouper par.
- Si nécessaire, modifiez l'ordre de tri du groupe en sélectionnant ordre décroissant dans la liste déroulante située sous la liste Grouper par (par défaut, les groupes sont triés par ordre croissant).
Note: Lorsque vous utilisez l'Assistant de création de rapport standard, vous devez ajouter au moins un groupe au rapport si vous souhaitez également utiliser l'assistant pour ajouter des totaux ou des diagrammes.
Dans cet exemple, les enregistrements sont regroupés par le champ date : lorsque le rapport est généré, tous les enregistrements ayant la même valeur « date » seront regroupés et triés par ordre croissant (du plus ancien au plus récent) :
- Ajouter autant de champs dans la liste Regrouper par que nécessaire.
- Cliquer Suivant pour continuer.
Si vous avez spécifié un champ dans la liste Regrouper par, l'écran Résumés s'affiche.
Autrement l'écran Sélection d'enregistrements s'affiche.
L'écran Résumés s’affiche seulement si un ou plusieurs champs ont été sélectionnés sur l'écran Regroupement. Une raison pour organiser les données en groupes est de pouvoir effectuer des calculs sur des groupes d’enregistrements plutôt que sur tous les enregistrements du rapport. Sur l'écran Résumés nous choisissons les champs sur lesquels effectuer des calculs (sommes, comptages, etc.). C’est une étape facultative :
Dans cet exemple, les valeurs de Montant de l’estimation sont automatiquement totalisées. Nous ajouterons également une moyenne du Montant de l'estimation :
- Sélectionner le champ requis dans la liste Champs disponibles et cliquer le bouton flèche simple pour le déplacer dans la liste Champs résumés.
- Sélectionner Moyenne dans la liste déroulante sous la liste Champs résumés :
Utiliser les flèches Haut et Bas au dessus de la liste Champs résumés pour changer l’ordre des résumés si nécessaire.
- Cliquer Suivant pour continuer.
L'écran Tri de groupes s’affiche.
L'écran Tri de groupes s’affiche seulement si un ou plusieurs champs ont été sélectionnés sur l'écran Regroupement ET un résumé a été spécifié sur l'écran Résumés. Sur l'écran Tri de groupes vous pouvez trier les groupes créés sur l'écran Regroupement en fonction des résumés calculés pour chaque groupe. Il est possible de trier tous les groupes ou les 5 premiers ou les 5 derniers groupes. Lors d’un tri sur les 5 premiers ou les 5 derniers groupes, il est également possible de choisir le champ résumé sur lequel basé le tri. C’est une étape facultative :
Dans cet exemple nous ne trions pas les champs. Cliquer Aide pour des détails concernant cette option.
- Cliquer Suivant pour continuer.
L'écran Diagramme s'affiche.
Dans l’Assistant de création de rapports standard l'écran Diagramme s’affiche seulement si un groupe a été sélectionné sur l’écran Regroupement ET un résumé a été ajouté à l’écran Résumés. Sur l’écran Diagramme nous insérons un graphique ou un diagramme dans le rapport.
Il est souvent plus simple de comprendre des valeurs numériques quand elles sont présentées sous de graphique ou de diagramme. Crystal Reports vous permet d’insérer un diagramme pour n’importe quel champ de résumé ou de sous-total. C’est une étape facultative :
- Pour inclure un diagramme dans le rapport, sélectionner un type de diagramme, par exemple Diagramme en barres.
- Donner un titre au diagramme et modifier les options si nécessaire.
L’option Au changement de précise le champ de groupe à utiliser comme condition d'intégration des valeurs dans un graphique ou diagramme. Les points seront redessinés à chaque fois que la valeur du champ change. Il est possible de choisir parmi les groupes créés sur l'écran Regroupement. Dans cet exemple il n’y a qu’un groupe et il est sélectionné automatiquement :
- Cliquer Suivant pour continuer.
L'écran Sélection d'enregistrement s'affiche.
Sur l'écran Sélection d'enregistrements nous choisissons les champs pour sélectionner (ou filtrer) les enregistrements dans un rapport. En sélectionnant les enregistrements de cette manière, vous pouvez affiner la portée de votre rapport et améliorer la vitesse de traitement. C’est une étape facultative :
Dans cet exemple, nous ne filtrons pas les champs. Cliquer Aide pour des détails concernant cette option.
- Cliquer Suivant pour continuer.
L'écran Formulaire s'affiche.
Sur l'écran Modèle nous sélectionnons un modèle prédéfini pour formater le rapport. C’est une étape facultative :
- Sélectionnez un formulaire dans la liste des Formulaires disponibles (un aperçu s'affiche dans le volet Aperçu).
Dans cet exemple, Aucun formulaire a été sélectionné.
- Cliquez sur Terminer pour quitter l'assistant.
Le rapport brut s'affiche dans la vue Aperçu de Crystal Designer :
Dans Crystal Reports Designer, nous pouvons maintenant modifier le rapport comme nécessaire.
Note: Beaucoup de changements, mais pas tous, peuvent être effectués soit en vue Conception, soit en vue Aperçu (sélectionner les onglets Conception ou Aperçu à gauche de l’écran). La vue Conception est cependant la plus polyvalente, aussi, dans cet exemple, nous utilisons généralement l'onglet Conception.
Consultez Comment formater le rapport : Vue d’ensemble pour savoir comment mettre en forme les titres et les champs (mettre en forme les champs date, par exemple).
- Cliquez sur OK lorsque Actualiser les données de rapport ? s'affiche :
Voir Comment modifier un rapport dans Crystal Designer pour plus de détails sur :
- Comment ajouter des groupes
- Comment ajouter un total et un résumé de champ (somme, moyenne, etc.)
- Comment ajouter un intitulé de champ
- Comment insérer un diagramme
- Comment ajouter une image, etc.
- Comment ajouter un sous-rapport
Le résultat final pourrait être similaire à :
- Sélectionnez Fichier>Enregistrer pour sauvegarder le rapport.
Note: Lorsque vous sélectionnez Fichier>Enregistrer pour sauvegarder le rapport, vérifiez que l'option Enregistrer les données avec le rapport n'est pas cochée. Il n'est généralement pas nécessaire d’enregistrer les données avec le rapport (et la taille du fichier sera réduite). Cette option se trouve sous l'option Enregistrer du menu Fichier.
- La dernière étape consiste à réenregistrer le rapport dans EMu pour qu’il puisse être exécuté dans EMu.
- Cliquez sur OK lorsque Actualiser les données de rapport ? s'affiche :
- Sélectionnez Fichier>Enregistrer pour sauvegarder le rapport.
Note: Lorsque vous sélectionnez Fichier>Enregistrer pour sauvegarder le rapport, vérifiez que l'option Enregistrer les données avec le rapport n'est pas cochée. Il n'est généralement pas nécessaire d’enregistrer les données avec le rapport (et la taille du fichier sera réduite). Cette option se trouve sous l'option Enregistrer du menu Fichier.
- La dernière étape consiste à réenregistrer le rapport dans EMu pour qu'il puisse être exécuté dans EMu.