Initiation à Crystal Reports XI

Fleur-Anne BLAIN

Ce tutoriel a pour but de vous initier aux principales fonctionnalités de Crystal Reports XI et bien entendu à la conception de rapports. ♪

- Titre : Initiation à Crystal Reports XI

- Auteur : Fleur-Anne BLAIN

- Parution : 2 octobre 2007

- Mise à jour : 2 octobre 2007

- Licence : Copyright ® 2007 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.

Sommaire

- Introduction

- I. Nos premiers pas avec Crystal Reports XI

- I-A. L'accueil

- I-B. L'environnement de conception d'un rapport

- I-B-1. La barre de menu

- I-B-2. La barre d'outils et l'environnement de conception d'un rapport

- II. Notre premier rapport Crystal Reports

- II-A. La connexion aux données

- II-B. Conception de notre premier rapport

- II-B-1. Un premier Crystal Reports simple

- II-B-2. Un premier Crystal Reports avec paramètres

- III. Autres fonctionnalités de Crystal Reports XI

- III-A. L'apparence…ça compte

- III-B. Les experts

- III-C. L'atelier/éditeur de formules

- III-D. Les sous-rapports

- Conclusion

- Liens utiles

- Remerciements

Introduction

Crystal Reports est un générateur de rapport et donc d'aide à la décision ou encore de communication. Ce tutoriel se base sur Crystal Reports XI de Business Object, mais peut tout de même se révéler très utile si vous travaillez sur des versions antérieures.

Dans un premier temps, nous découvrirons l'outil Crystal Reports d'une manière générale afin de nous familiariser aussi bien avec le vocabulaire employé qu'avec l'outil lui-même. Puis dans un second temps, nous réaliserons pas à pas un exemple de report. Enfin, nous présenterons différentes fonctionnalités couramment utilisées de la plus élémentaire à la plus complexe.

I - Nos premiers pas avec Crystal Reports XI

Si vous souhaitez découvrir Crystal Reports XI, il vous est possible de télécharger une version d'évaluation de 30 jours à cette adresse : Téléchargement Crystal Reports XI R2

Débutons notre découverte de Crystal Reports XI en parcourant quelques menus et fenêtres.

I-A - L'accueil

Comme la plupart des logiciels, Crystal Reports XI dispose d'une page d'accueil visible à chaque lancement du logiciel. Cette page se présente de la manière suivante :

Comme nous pouvons le constater, cette page se divise en plusieurs parties :

- la partie « Démarrage » : elle se compose de trois parties très intéressantes en particulier pour les novices du reporting. Il y a tout ce qu'il faut pour débuter, des exemples, vos raccourcis sur les rapports récemment traités et enfin le nécessaire pour la création de nouveaux rapports avec ou sans l'utilisation de l'assistant ;

- la partie « Ressources en ligne » : cette partie vous informe de toutes les actualités Crystal Reports, les aides possibles, les documentations, etc.

Personnellement, pour apprendre, je ne conseille pas d'utiliser l'assistant, car même s'il s'avère très pratique pour les reports simples, vous ne voyez et ne contrôlez pas tout ce que vous faites. D'un point de vue pédagogique l'utiliser une fois c'est bien, mais pour comprendre mieux vaut chercher et trouver par soi-même. N'oubliez pas qu'une aide est à votre disposition!

I-B - L'environnement de conception d'un rapport

Nous allons faire le tour des fenêtres et menus principaux de Crystal Reports en vue de la création de notre premier rapport. Nous allons, dans un premier temps, parcourir la barre des menus, puis la barre d'outils et enfin l'environnement de conception d'un report.

I-B-1 - La barre de menu

La barre de menu se divise en onglets, que pour la plupart vous avez déjà pu apercevoir dans d'autres logiciels.

- Onglet « Fichier »

L'onglet « Fichier » permet la création de nouveaux rapports, tableaux croisés ou cube OLAP, d'ouvrir ces mêmes types de documents et comme d'habitude d'enregistrer, mettre en page, sauvegarder, etc. Cet onglet propose aussi diverses options en lien direct avec les rapports.

En effet, lorsque vous sélectionnez « Options… » de l'onglet fichier, une nouvelle fenêtre s'ouvre. Celle-ci permet d'afficher/modifier, la disposition (de règles, repères, grille, etc.), la police (des diagrammes, champs de résumé, champs de nom de groupe, des objets textes, des titres), des balises actives et aperçu HTML, la vérification de dépendances, certains critères aux niveaux bases de données, les options de mise en forme de l'éditeur de formules, certains paramètres de reporting (en particulier pour la lecture de données et l'ouverture d'un rapport) et enfin tout ce qui touche aux masques de mise en forme des heures, dates, booléens, etc.

Toujours dans l'onglet « Fichier » vous disposez d'une autre option appelée « Options du rapport… », qui elle vous permet de modifier certains paramètres généraux du rapport comme suit :

Enfin, à travers cet onglet, il vous est possible d'exporter votre rapport vers d'autres supports :

- Onglet « Affichage »

L'onglet affichage permet d'afficher ou non certaines fenêtres ou encore la grille de report ou enfin la règle de repères. À noter qu'il est indispensable de laisser afficher les fenêtres de rapports et explorateur de champs pour votre confort.

- Onglet « Insertion »

L'onglet insertion permet d'insérer dans votre rapport des éléments, en particulier des tableaux croisés, sous-rapports ou encore image :

- Onglet « Mise en forme »

Cet onglet permet de gérer la mise en forme d'une manière générale.

- Onglet « Base de données »

L'onglet base de données est très important. C'est grâce à lui que l'on peut voir les connexions aux bases de données, leurs types, voir certaines commandes SQL, etc.

- Onglet « Rapport »

L'onglet rapport permet de gérer tout ce qui touche aux formules de sélection, atelier de formules, actualisation du rapport, etc. :

- Onglet « Fenêtre »

L'onglet fenêtre vous permet d'organiser vos icônes, vos fenêtres.

- Onglet « Aide »

L'onglet aide vous donne accès à l'aide de l'outil aussi bien l'aide fournie avec l'outil que l'aide en ligne et d'autres liens utiles pouvant vous aider. Ne pas hésiter à la consulter.

I-B-2 - La barre d'outils et l'environnement de conception d'un rapport

La barre d'outils est un condensé des outils principaux accessibles à travers la barre de menu. Son utilisation est simple, pour la plupart des éléments de rapports, cliquer sur le bouton choisi puis faire glisser l'élément ainsi créé dans votre rapport.

Si l'on regarde de plus près la barre d'outils, nous avons sur la gauche (flèche bleue), tous les boutons utiles aux insertions d'éléments dans les rapports et au centre (flèche rouge), tout ce qui est en rapport avec la base de données, certaines actions SQL (tri, groupe, etc.) ou encore l'atelier de formules. Enfin, nous avons sur la droite ( flèche orange) la toolbar Crystal en aperçu.

Concernant l'environnement de conception d'un rapport, celui-ci se divise en deux : la partie conception du rapport et la partie aperçu du rapport.

En mode conception de rapport, vous pouvez apercevoir les différentes parties du rapport, de l'entête de rapport au pied de page de rapport. Ces parties sont très utiles pour l'organisation des données à afficher sur votre rapport. Au centre, vous disposez de votre rapport en mode conception. Enfin, à droite, différents éléments très utiles sont présents (si vous avez spécifié auparavant l'affichage de ces fenêtres) comme l'arborescence du rapport ou encore l'explorateur de champs.

En mode aperçu, vous obtenez l'aperçu de votre report en exécution, avec son arborescence, les différentes pages, etc. La toolbar de navigation Crystal vue précédemment, à droite, est très utile dans ce cas.

II - Notre premier rapport Crystal Reports

Dans cette partie nous allons focaliser notre attention sur tout ce qui se rapporte à la connexion aux données, base de données, car c'est un élément important et la première étape avant toute conception. Puis dans un deuxième temps, nous allons réaliser un exemple de rapport simple afin de comprendre les bases du reporting avec Crystal Reports.

II-A - La connexion aux données

À la création d'un nouveau rapport, la première action demandée par Crystal Reports est une connexion à une source de données avec l'expert base de données. Nous n'avons pas encore réalisé de connexion. Mais nous pouvons cependant jeter un œil à cette fenêtre :

L'expert base de données vous permet donc de voir vos connexions actuelles (du rapport en cours), vos connexions favorites, un historique, etc. C'est ici qu'il vous est possible de vous connecter à une source de données en cliquant sur « Créer une nouvelle connexion ». Voici ci-dessous tous les types de connexions possibles selon votre base de données ou votre source de données :

Dans notre cas pour cet exemple, la source de données sera de type OLEDB (ADO) pour en venir à sélection SQL native client en fournisseur OLEDB :

Quel que soit votre type de source de données, double-cliquer dessus puis se laisser guider par les informations demandées (un chemin de fichier, un nom de serveur, un login et password ou encore un type de connexion).

Dans le cas présent, nous spécifions le serveur et la base de données. Étant administrateur j'ai bien spécifié les deux types de connexions possibles donc je choisis sécurité intégrée par pure simplicité dans mon cas :) .

J'utilise la base de données AdventureWorks pour Microsoft SQL Server 2005 que vous pouvez trouver sur Internet très aisément et quelle que soit la version de votre serveur pour vous entraîner.

Aller jusqu'à la fin de votre assistant. La connexion est faite. Pour le vérifier, il suffit d'ouvrir les connexions actuelles et l'on peut constater que la connexion est bien là ainsi que l'arborescence de la base.

Enfin, toujours dans cet expert connexion base de données , il vous est possible de sélectionner les tables ou vues que vous souhaitez manipuler dans votre rapport. Dans notre cas, nous allons utiliser la table CréditCard :

Bien entendu, ajoutez autant de tables ou vues que vous souhaitez selon les besoins du rapport. Enfin, l'expert base de données vous permet à tout moment d'ajouter ou supprimer des tables ou vues. Maintenant que nous sommes connectés à notre source de données, passons à la conception du rapport.

II-B - Conception de notre premier rapport

Dans cette partie, nous allons concevoir un premier rapport basique puis un autre en utilisant la notion de paramètres. Le premier rapport simple nous permettra de découvrir davantage l'outil Crystal Reports un peu plus en détail.

II-B-1 - Un premier Crystal Reports simple

Ce premier report sera un diagramme. Si vous souhaitez faire un tableau il vous est possible d'utiliser l'assistant qui est assez complet ou bien d'insérer un tableau dans votre rapport et suivre le même principe qu'un diagramme. Pour un diagramme, nous utiliserons l'icône puis nous glisserons dans le corps du rapport. Ce diagramme se trouvera dans l'entête du rapport. En faisant glisser le cadre apparent suite au clic de l'icône, une fenêtre s'ouvre : l'expert diagramme. Cet expert diagramme vous permet de construire le cœur de votre rapport à travers différents onglets que nous allons explorer.

- L'onglet « Type »

L'onglet « Type » permet de choisir le type de diagramme que vous souhaitez réaliser. Comme vous pouvez le constater, la liste est longue et les variantes pour chaque diagramme sont multiples. Dans notre cas nous nous contenterons d'un histogramme classique.

- L'onglet « Données »

L'onglet « Données » permet la gestion des données. C'est ici que vous choisissez quelles données afficher en abscisse, en ordonnées ou autres, si celles-ci doivent être triées ou bien cumulées, etc.

Par exemple, dans notre exemple ci-dessus nous décidons d'afficher les années d'expiration de carte de crédit qui existent dans notre base de données de manière croissante.
Ensuite, nous décidons d'afficher en axe des ordonnées la somme des Cartes par identifiant (équivalent à un SELECT COUNT(DISTINCT …) en SQL) :

- L'onglet « Axes »

Cet onglet permet de définir ses axes de manière manuelle ou automatique selon les données ou encore d'ajouter des grilles au rapport facilitant parfois la lecture.

- L'onglet « Options »

L'onglet « Options » permet de modifier la couleur du diagramme de manière basique, de personnaliser les paramètres de celui-ci, d'afficher ou non certaines informations sur les données ( étiquettes de valeurs par exemple) ou encore la gestion de base des légendes.

- L'onglet « Mise en relief de la couleur »

Cet onglet permet de spécifier pour certaines valeurs une couleur précise. Pour attribuer une couleur à un élément du rapport, créer un nouvel élément, choisir l'élément à traiter, sa valeur et sa couleur puis valider.

- L'onglet « Texte »

L'onglet « Texte » permet de mettre des titres ou sous-titres à votre diagramme. Vous pouvez laisser les titres automatiques, mais ils ne sont pas très parlants. Pour chaque titre il est possible de spécifier une police bien précise :

Voilà notre premier rapport, certes assez simple nous a permis de faire le tour de quelques fonctionnalités de base. Voyons en mode aperçu ce que cela donne :

Comme vous pouvez le constater, tous les champs présents sur le rapport sont cochés d'une virgule verte, nos titres sont bien présents, etc. De plus, si vous regardez au niveau de l'arborescence de l'explorateur de champs, il y a ce que l'on appelle les champs spéciaux. Ce sont tous les champs préexistants dans Crystal Reports que vous pouvez ajouter si besoin à votre rapport (par exemple l'auteur, la date du jour, les numéros de pages, etc.). Voyons ce que donne notre rapport en mode aperçu :

II-B-2 - Un premier Crystal Reports avec paramètres

Découvrons maintenant une autre fonctionnalité de base et très répandue, les paramètres. Un rapport peut être avec paramètres, c'est-à-dire que l'utilisateur ou le lecteur devra intervenir pour saisir les valeurs qu'il souhaite voir afficher. La plupart du temps ce sont des tranches ou plages de dates par exemple.

À la création de notre nouveau rapport, Crystal Reports nous demande à travers l'expert base de données une connexion aux données. Mais si l'on regarde de plus près dans l'historique, vu que nous gardons la même source de données pour notre exemple, nous pouvons la retrouver sans avoir à recréer de nouvelle connexion :

Nous souhaitons prendre en compte dans notre requête des paramètres. Nous allons passer par l'ajout d'une commande ou plutôt requête pour pouvoir sélectionner nos données comme nous avons sélectionné une table précédemment. Si vous êtes fâchés avec le SQL, il vous est possible d'utiliser l'expert sélection et de créer vos nouveaux champs de paramètres (clic droit sur champs de paramètre). Dans ce cas, nous allons passer par une requête (sans l'expert sélection). Cliquer sur « Ajouter une commande ». Nous obtenons la fenêtre suivante :

Dans cette fenêtre, écrivez ou copiez la requête souhaitée. Dans notre cas, nous souhaitons afficher le nombre de produits par couleur prévus en vente en fonction d'une date. Le « en fonction d'une date » signifie que nous allons encadrer la date par deux paramètres, date de début et date de fin, eux aussi de type date afin que la comparaison soit possible.

Une requête paramétrée sous Crystal Reports a une syntaxe spécifique. Chaque paramètre doit être écrit de cette manière {?nomparam} et être du même type que la valeur à comparer dans votre base de données.

Ensuite, il faut ajouter les paramètres. Ceux-ci doivent porter le même nom que ceux donnés dans votre requête. Pour ajouter un nouveau paramètre, cliquer sur le bouton « ordre » :

Répéter cette action pour chaque paramètre.

Puis valider le tout. La commande est alors créée et utilisable dans votre rapport :

Dans l'explorateur de champs, nous pouvons constater que notre commande existe, à travers tous les champs sélectionnés par notre requête, mais aussi à travers nos deux champs de paramètres qui ont été créés :

Pour la suite, il suffit de réaliser votre report comme décrit dans la partie précédente, en sélectionnant les champs à afficher, les champs de groupe, de spécifier vos titres, couleurs, etc. Dans notre cas, voici ce que cela donne avec notre requête paramétrée :

Au premier lancement, Crystal Reports lance le rapport avec les valeurs par défaut que nous avons spécifiées auparavant. Puis lorsque l'utilisateur souhaite modifier ses valeurs, il lui faut actualiser son rapport à l'aide du bouton . En actualisant, une fenêtre demandant de nouveaux paramètres s'ouvre comme suit :

Choisir alors d'entrer de nouveaux paramètres (comme le montre l'image précédente). Vous obtenez alors la fenêtre suivante dans laquelle il vous est possible de modifier les valeurs de vos paramètres :

Validez vos nouveaux paramètres. Nous pouvons constater que la nouvelle requête, avec nos nouvelles valeurs, est bien effective et affiche tous les produits vendus par couleurs pendant la période que nous avons choisie :

Pour les paramètres de type chaînes de caractères, mettre entre ' ' le paramètre, par exempe Where Color='{?nomcolor}'

III - Autres fonctionnalités de Crystal Reports XI

III-A - L'apparence…ça compte

Le reporting est basé sur l'apparence, car en général c'est un outil décisionnel. C'est pourquoi vos rapports doivent être au moins présentables. Pour cela vous avez différentes fonctionnalités possibles.

- Insertion d'image

Pour insérer une image dans votre rapport, cliquer sur .

- Mettre en forme l'arrière-plan

Pour mettre en forme l'arrière-plan de votre rapport, cliquer droit dessus pour obtenir ce menu :

Vous pouvez alors modifier l'arrière-plan à l'aide de dégradé, motifs, etc.

- Options du diagramme

Ce menu vous permet de modifier l'apparence de certains éléments du rapport tel que les différents titres et leurs polices, la légende et sa disposition, etc.

- Options des séries

Lorsque vous cliquez droit sur une série, il vous est possible de modifier son apparence à l'aide des options de séries :

- Mettre en forme la légende

Comme pour l'arrière-plan, vous disposez des mêmes possibilités concernant la mise en forme de la légende :

III-B - Les experts

Dans la barre de menu, au niveau de l'onglet rapport, vous avez accès à différents experts que nous allons parcourir.

- L'expert diagramme

L'expert diagramme, que nous avons vu précédemment, est l'expert qui permet de spécifier le type de diagramme choisi, ses données, ses titres, etc.

- L'expert base de données

Comme nous l'avons vu précédemment, l'expert base de données permet entre autres de ce connecter à une source de données quelque soit son type.

- L'expert sélection

L'expert sélection se retrouve en cliquant sur l'icône . L'expert sélection permet de choisir les enregistrements ou groupes que vous voulez dans votre rapport. Il génère selon vos choix une formule de sélection de manière automatique. Il vous est possible d'ajouter, parcourir ou encore supprimer une sélection :

- L'expert groupe

L'expert groupe permet de spécifier des groupes, leur ordre, de les trier, etc. Par exemple, dans nos rapports précédents, nous avons groupé par date (par mois dans l'ordre croissant) puis par couleur.

- L'expert section

Vous pouvez accéder à l'expert section à l'aide de l'icône . L'expert section vous permet de modifier les propriétés pour chaque section, y compris des affichages conditionnels (avec formule) :

III-C - L'atelier/éditeur de formules

Comme le décrit très bien son nom, l'atelier/éditeur de formules permet de créer/éditer les formules que vous souhaitez. Parfois certains affichages sont conditionnels ou doivent subir des mapping ou autres. C'est dans ce genre de cas qu'est utile l'atelier de formules. De plus, à chaque fois que vous voyez l'icône c'est qu'il vous est possible de contrôler cette propriété en lui appliquant une formule selon vos désirs. L'atelier se présente de la manière suivante :

Comme vous pouvez le constater, il y a quatre fenêtres principales pour réaliser vos formules :

- Champs du rapport

Les champs du rapport correspondent tout simplement aux champs de base de données accessibles pour votre rapport et qui font donc partie de votre sélection de départ. Ils contiennent aussi les formules et groupes déjà créés précédemment.

- Fonctions

Les fonctions sont des procédures déjà écrites qui renvoient des valeurs. Un peu comme les librairies de fonctions d'autres langages. Il existe pas mal de fonctions prédéfinies de base pour les manipulations de données les plus courantes.

- Opérateurs

Les opérateurs décrivent une action ou une opération pouvant être effectuée avec deux valeurs ou plus. Comme en mathématiques avec les additions, soustractions, etc.

- Fenêtre de texte de formules

Cette fenêtre vous permet d'écrire vos formules ou de voir les résultats de vos choix de fonctions, etc.

Deux syntaxes sont possibles pour réaliser vos formules. La syntaxe Crystal Reports ou bien la syntaxe basic. Ce type de formules peut vous être utile pour des champs calculés ou encore des extractions, des transformations de données, etc.

III-D - Les sous-rapports

Un sous-rapport est, comme son nom l'indique, un rapport dans un rapport. Le rapport parent peut contenir plusieurs sous-rapports. Soit vous cliquez sur l'icône qui vous permet d'insérer un rapport existant ou bien de créer votre sous-rapport à l'aide de l'assistant. Cela peut être utile pour les novices. Soit vous sélectionnez l'option de mise en forme, sur l'onglet lien hypertexte, il vous est possible d'insérer un sous-rapport sous forme de lien hypertexte. Cela évite entre autres un chargement de données inutiles si celui-ci n'est pas ouvert.

Conclusion

Si vous avez déjà fait du reporting c'est un plus c'est certain. Mais Crystal Reports a ses spécificités. C'est pourquoi je ne peux que vous conseiller de lire attentivement le tutoriel, ainsi que ceux fournis en lien et de fouiller par vous-même il n'y a que comme cela que l'on apprend.

Liens utiles

- Télécharger la version d'évaluation Crystal Reports XI R2

- Business Object

- Création et mise en forme d'états Crystal Reports avec VS .NET par Manuel Sergent

- Création et déploiement d'états Crystal Reports avec VS .NET par David Pédehourcq

Remerciements

Je remercie Aspic pour sa relecture ainsi que Adrien Artero et qi130 pour leurs critiques constructives.