Concevoir des rapports paginés Reporting Services à l’aide du Concepteur de rapports (SSRS)

S’applique à : SQL Server 2016 (13.x) Reporting Services et versions ultérieures

Vous pouvez utiliser Report Designer pour créer des rapports paginés et des solutions de création de rapports SQL Server Reporting Services (SSRS) complets. Report Designer fournit les éléments suivants :

  • Un moyen qui vous permet de définir des sources de données, des jeux de données et des requêtes.
  • Capacités de conception et de personnalisation de la disposition des régions et des champs de données.
  • Fonctionnalités interactives telles que les paramètres et les ensembles de rapports qui fonctionnent ensemble.

Le Concepteur de rapports est une fonctionnalité de SQL Server Data Tools (SSDT), un environnement Microsoft Visual Studio pour la création de solutions décisionnelles.

Installation de SSDT

SSDT n’est pas fourni avec SQL Server. Vous devez installer SSDT séparément. Pour obtenir des instructions, consultez Installation de SSDT avec Visual Studio.

Pour utiliser les modèles Report Designer, vous devez également installer une extension SSRS pour Visual Studio. Pour plus d’instructions, consultez Installer les extensions pour Analysis Services, Integration Services et Reporting Services.

Avantages des projets de rapports

Dans Report Designer, vous pouvez utiliser des projets pour organiser des rapports. Les projets de rapports fonctionnent comme des conteneurs de définitions de rapports et de ressources. Vous pouvez utiliser les projets pour les tâches suivantes :

  • Organiser les rapports et les éléments associés dans un conteneur.
  • Tester localement des solutions de rapport qui incluent des rapports et des éléments liés.
  • Déployer des éléments associés ensemble. Vous pouvez utiliser les propriétés du projet et la gestion de la configuration pour déployer des éléments dans plusieurs environnements.
  • Conservation d’un ensemble de copies principales pour les rapports et les éléments connexes, car les rapports publiés peuvent être modifiés accidentellement après le déploiement.

Vous pouvez utiliser les informations de cette rubrique pour concevoir des rapports paginés et des éléments associés pour un projet de rapport dans une solution SSDT. Pour plus d’informations sur les solutions et les projets multiples dans SSDT, consultez Reporting Services in SQL Server Data Tools (SSDT).

Sources de données et jeux de données partagés

SSDT permet de définir et de déployer des sources de données partagées et des jeux de données partagés pour une solution de création de rapports.

  • Pour déployer une source de données partagée indépendamment des autres éléments d’un projet, vous pouvez utiliser les propriétés OverwriteDataSources et TargetDataSourceFolder.
  • Pour déployer un jeu de données partagé indépendamment des autres éléments d’un projet, vous pouvez utiliser les propriétés OverwriteDatasets et TargetDatasetFolder.

Pour plus d’informations, consultez Définir des propriétés de déploiement (Reporting Services).

Dans Report Designer, vous travaillez dans le volet des données de rapport et dans l'explorateur de solutions pour définir les sources de données et les jeux de données partagés utilisées dans un rapport. Pour plus d’informations, consultez Volet des données de rapport.

Si une source de données est publiée dans un serveur de rapports ou un site SharePoint mais n’est pas incluse dans la solution SSDT, vous ne pouvez pas utiliser SSDT pour ouvrir cette source de données. De même, vous ne pouvez pas utiliser SSDT pour ouvrir des jeux de données publiés directement à partir d'un serveur de rapports ou d'un site SharePoint. Pour ouvrir une source de données ou un jeu de données dans ces scénarios, vous pouvez utiliser Report Builder. Pour plus d’informations, consultez Environnement de création de Report Builder (SSRS). Pour les jeux de données, utilisez cet environnement en mode jeu de données partagé.

SSDT est un outil client. Vous pouvez l’utiliser pour :

  • Testez votre solution de création de rapports localement sur votre ordinateur.
  • Testez votre solution de serveur en déployant votre solution de création de rapports dans un environnement de test.
  • Déployer votre solution de création de rapport dans un environnement de production.
  • Créer et testez vos résultats de requête localement en utilisant capacités d’aperçu des concepteurs de requêtes SSDT.

Après le déploiement :

Pour plus d’informations sur l’ajout de données dans des rapports paginés, consultez Créer des chaînes de connexion de données dans Report Builder.

Rapports paginés

Les rapports paginés sont des fichiers qui sont stockés dans un projet de rapport. Vous pouvez utiliser un fichier de rapport paginé en tant que rapport autonome, sous-état ou cible pour les actions d’extraction à partir de rapports principaux. Pour déployer un rapport indépendamment des autres éléments d’un projet, vous pouvez utiliser la propriété TargetReportFolder et les autres propriétés. Pour plus d’informations, consultez Définir des propriétés de déploiement (Reporting Services).

Remarque

Si vous publiez sur un serveur de rapports en mode SharePoint, vous ne pouvez pas tester certaines fonctionnalités de solution de rapport dans le projet Report Designer. Les références aux rapports, aux sous-rapports et aux rapports d'extraction doivent utiliser des URL complètes qui peuvent être testées uniquement lorsque vous déployez le projet de rapport. Pour plus d’informations, consultez Exemples d’URL pour les éléments sur un serveur de rapports – mode SharePoint.

Si vous installez l’extension SSRS dans Visual Studio, comme expliqué précédemment dans Installation de SSDT, vous pouvez utiliser le modèle de projet de serveur de rapports pour créer un projet. Vous pouvez ensuite ajouter un rapport à votre projet de l’une des manière suivantes :

  • À l’aide de l’Assistant Rapport. Vous créez un rapport pas-à-pas et êtes guidé. L'Assistant Rapport résume la définition des données et la conception des rapports à une série d'étapes aboutissant à un rapport parachevé. Vous pouvez ajouter des styles pour personnaliser l'assistant pour votre propre organisation. Pour plus d’informations, consultez Ajouter un nouveau rapport à l’aide de l’Assistant Rapport.

  • Ajouter un nouvel élément de rapport de type. Un rapport vide s'ouvre dans le Concepteur de rapports. Pour plus d’informations, consultez Ajouter un nouveau rapport vide.

  • Ajouter un élément existant Un fichier de définition de rapport (.rdl) existant s'ouvre dans le Report Designer. Ouvrir un rapport ou un projet d'une version antérieure de SSRS peut automatiquement mettre à niveau le projet vers la version actuelle et le rapport vers le schéma actuel. Pour plus d'informations, consultez Mettre à niveau des rapports (SSRS).

  • Importez un rapport Microsoft Access. Le processus d’importation importe tous les rapports à partir d’une base de données Access (.mdb, .accdb) ou d’un fichier de projet (.adp). Report Designer convertit chaque rapport dans un fichier de base de données ou de projet au format RDL (Report Definition Language), puis l'enregistre dans le projet de rapport. Toutes les fonctionnalités d'un rapport Access ne sont pas toutes transférables dans un fichier de définition de rapport (.rdl). Pour plus d’informations, consultez Importer des rapports à partir de Microsoft Access (Reporting Services).

    Remarque

    Microsoft Access 2002 (ou version ultérieure) doit être installé sur le même ordinateur que le Concepteur de rapports pour pouvoir utiliser la fonctionnalité d'importation. La source de données des états Access doit être disponible lorsque les états sont importés.

  • Travailler directement dans un fichier RDL. Le rapport est enregistré au format XML sous forme de fichier RDL. Vous pouvez modifier ce fichier dans Report Designer, dans un éditeur de texte ou dans tout éditeur XML.

    Lorsque vous modifiez la source de définition de rapport dans Report Designer, vous travaillez dans le schéma RDL actuel pour la version de SQL Server à partir de laquelle vous avez installé les outils de développement. Lorsque vous générez un projet, la version du schéma peut changer selon les propriétés de votre déploiement. Pour plus d’informations, consultez Déploiement et prise en charge des versions dans SQL Server Data Tools (SSDT).

    Modifier directement le langage RDL peut entraîner des problèmes d’exécution du rapport ou des problèmes de publication sur le serveur de rapports. Comme pour tout fichier XML, veillez à encoder correctement les caractères spécifiques XML utilisés dans les éléments. Lorsque vous publiez un rapport, le serveur de rapports utilise ce schéma pour valider le code XML dans le fichier RDL.

    Pour inclure les éléments qui ne font pas partie du schéma RDL, placez-les dans un élément personnalisé. Les extensions de rendu personnalisées peuvent lire les éléments personnalisés. Toutefois, les extensions de rendu fournies par SSRS ignorent l’élément. Par exemple, vous pouvez utiliser un élément personnalisé pour stocker des commentaires dans votre rapport.

    Pour plus d’informations, consultez Langage de définition de rapport (SSRS).

Parties de rapports

Notes

Les parties de rapport sont dépréciées pour toutes les versions de SQL Server Reporting Services à partir de SQL Server Reporting Services 2019 et toutes les versions de Power BI Report Server à partir de Power BI Report Server (septembre 2022).

Dans le Concepteur de rapports, vous pouvez créer des tables, des graphiques et d’autres éléments de rapport paginés dans un projet. Après les avoir créées, vous pouvez les publier en tant que parties de rapport sur un serveur de rapports ou un site SharePoint intégré à un serveur de rapports. Cette action vous permet et d’autres utilisateurs de les réutiliser dans d’autres rapports. Pour plus d’informations, consultez Parties de rapports dans le Concepteur de rapports (SSRS).

Vous pouvez déployer des parties de rapport indépendamment des autres éléments d’un projet à l’aide de la propriété TargetReportPartFolder et des autres propriétés. Pour plus d’informations, consultez Définir des propriétés de déploiement (Reporting Services).

Ressources

Vous pouvez ajouter à votre projet des fichiers liés à votre rapport mais pas traités par le serveur de rapports. Par exemple, vous pouvez ajouter des images ou ajouter des fichiers de forme ESRI (Environmental Systems Research Institute, Inc. ) pour les données spatiales. Pour plus d’informations, consultez Ressources.

Mise en page de rapport paginé

Pour créer une mise en page de rapport, faites glisser des éléments de rapport et des régions de données de la boîte à outils de Report Designer vers l'aire de conception, puis réorganisez-les. Vous pouvez ajouter des données au rapport en faisant glisser les champs du jeu de données vers les éléments de l'aire de conception. Pour organiser des données en groupes dans une région de données de tableau matriciel, faites glisser les champs du jeu de données vers le volet de regroupement. Étant donné que les outils de création de rapport sont essentiellement le moyen de créer des définitions de rapport, l’approche de création de rapports est assez similaire dans Report Builder et Report Designer.

Afficher un aperçu d’un rapport paginé

Vous pouvez utiliser l’Aperçu pour vérifier les données du rapport et la conception de la mise en page. Quand vous affichez l'aperçu d'un rapport, le processeur de rapports valide le schéma et la syntaxe d'expression de la définition de rapport. Il répertorie également les problèmes dans la fenêtre Sortie.

Remarque

Lorsque vous prévisualisez un rapport, les données de ce rapport sont mises en cache dans un fichier sur l'ordinateur local. Lorsque vous prévisualisez à nouveau le même rapport en utilisant la même requête, les mêmes paramètres et les mêmes informations d’identification, le Concepteur de rapports récupère la copie en cache au lieu de réexécuter la requête. Le fichier de données est enregistré sous le nom <report-name>.rdl.data dans le même répertoire que le fichier de définition de rapport. Le fichier n'est pas supprimé lorsque vous fermez Report Designer.

Vous pouvez afficher un aperçu d'un rapport comme suit :

  • Vue aperçu. Si vous sélectionnez l’onglet Aperçu, le rapport s’exécute localement. Il utilise les mêmes fonctionnalités de traitement et de rendu de rapport que celles fournies par le serveur de rapports. Le rapport affiché est une image interactive. Vous pouvez sélectionner des paramètres, cliquer sur des liens, afficher l’explorateur de documents, et développer ou réduire des zones masquées du rapport. Vous pouvez aussi exporter le rapport dans n'importe quel format de rendu installé.

  • Aperçu autonome. Vous pouvez exécuter le rapport local dans un navigateur. En utilisant une configuration de débogage, vous pouvez également utiliser ce mode pour déboguer les assemblys personnalisés que vous écrivez. Il existe trois manières de gérer un projet en mode débogage :

    • Dans le menu Déboguer, vous pouvez sélectionner Démarrer le débogage.
    • Dans la barre d’outils standard Visual Studio, sélectionnez le bouton Démarrer.
    • Vous pouvez sélectionner F5.

    Si vous utilisez une configuration de projet qui crée le rapport mais ne le déploie pas, le rapport spécifié dans la propriété StartItem de la configuration actuelle s'ouvre dans une fenêtre d'aperçu distincte.

    Remarque

    Pour utiliser le mode débogage, vous devez définir un élément de départ. Pour définir un élément de départ, accédez à Explorateur de solutions, cliquez avec le bouton droit sur le projet de rapport, puis sélectionnez Propriétés. Ensuite, dans StartItem, vous sélectionnez le nom du rapport à afficher.

    Si vous souhaitez afficher un aperçu d’un rapport particulier qui n’est pas l’élément de démarrage du projet, vous pouvez sélectionner une configuration qui génère le rapport mais ne le déploie pas. Par exemple, vous pouvez utiliser la configuration DebugLocal. Ensuite, cliquez avec le bouton droit sur le rapport et sélectionnez Exécuter. Vous devez sélectionner une configuration qui ne déploie pas le rapport. Sinon, le rapport est pas publié sur le serveur de rapports au lieu d’être affiché localement dans une fenêtre d’aperçu.

  • Aperçu avant impression. Lorsque vous affichez pour la première fois un rapport en mode Aperçu ou dans la fenêtre d'aperçu, le rapport prévisualisé ressemble à un rapport produit par l'extension de rendu HTML. L’aperçu n’est pas en HTML, mais la présentation et la pagination du rapport sont similaires à un affichage HTML.

    Vous pouvez changer la vue pour afficher le rapport tel qu'il sera imprimé en activant le mode d'aperçu avant impression. Lorsque vous sélectionnez Aperçu avant impression dans la barre d’outils Aperçu, le rapport s’affiche comme s’il était sur une page physique. Ce que vous voyez ressemble au résultat que produisent les extensions de rendu Image et PDF. L’aperçu avant impression n’est pas une image ni un fichier PDF, mais la disposition et la pagination du rapport sont similaires à celles de ces formats. Vous pouvez choisir la taille de l'image de rapport, par exemple, et définir la largeur de la page.

    L’aperçu avant impression vous aide à identifier les problèmes de rendu que vous pouvez rencontrer si vous deviez imprimer le rapport. Les problèmes de rendu courants comprennent :

    • Les pages vierges supplémentaires dues à un rapport trop large pour tenir sur le format de papier que vous spécifiez pour le rapport.
    • Les pages vierges supplémentaires dues à un rapport contenant une matrice qui s'étend dynamiquement avec pour conséquence un dépassement de la largeur spécifiée du papier.
    • Les sauts de page entre les groupes ne fonctionnant pas de la façon souhaitée.
    • En-têtes et pieds de page ne s’affichant pas comme prévu.
    • Les mises en page de rapport qui nécessitent une modification pour une meilleure lecture dans un format imprimé.

Enregistrer et déployer des rapports paginés

Dans le Concepteur de rapports, vous pouvez enregistrer des rapports et d'autres fichiers projet localement, ou les déployer vers un serveur de rapports ou un site SharePoint. Les sources de données partagées, les datasets partagés, les rapports, les ressources de rapport et les parties de rapports peuvent être déployés indépendamment ou définis selon les propriétés de déploiement du projet que vous configurez. Pour plus d’informations, consultez Propriétés de configuration et de déploiement.

Dans Report Designer, vous concevez un rapport à l'aide du schéma de définition de rapport pris en charge par la version actuelle de SSRS dans SSDT. Vous pouvez définir des propriétés de déploiement de projet pour un serveur de rapports spécifique ou un site SharePoint. Lorsque vous enregistrez le rapport, le Concepteur de rapports enregistre la définition du rapport dans le répertoire de build se trouvant dans le schéma qui correspond à la version sur le serveur de rapports cible. Pour créer des rapports qui peuvent être publiés sur un serveur de rapports qui utilise une version antérieure de SSRS, Report Designer supprime les éléments de rapport qui n’existent pas dans le schéma cible. Cette action se produit automatiquement et sans invite. Dans ce cas, la définition de rapport d’origine est conservée dans le dossier du projet. La définition de rapport modifiée déployée par Report Designer se trouve dans le dossier de génération.

Remarque

Pour déboguer les expressions et les erreurs de déploiement, vous devez afficher la définition de rapport dans le dossier de génération. N’utilisez pas Afficher le code dans le menu contextuel du fichier de rapport pour afficher la définition du rapport dans ce cas. Lorsque vous sélectionnez Afficher le code, vous ouvrez la source de définition de rapport à partir du dossier du projet.

Pour plus d’informations, consultez Déploiement et prise en charge des versions dans SQL Server Data Tools (SSDT).

Enregistrer un rapport localement

Lorsque vous travaillez sur un rapport ou sur d'autres éléments de projet dans Report Designer, les fichiers sont enregistrés dans votre ordinateur local ou dans un partage sur un autre ordinateur auquel vous avez accès.

Si vous utilisez le logiciel de contrôle de code source, le fait d’enregistrer le rapport peut lancer la vérification de ca rapport dans le serveur de contrôle de code source. Pour plus d'informations, consultez la page Contrôle du code source.

Déployer ou publier des rapports paginés

À partir de SSDT, vous pouvez déployer des rapports ou d'autres éléments de projet vers plusieurs versions de serveurs de rapports SSRS. Utilisez les configurations de projet pour contrôler la mise à niveau des définitions de rapport aux versions de schéma compatibles avec les serveurs de rapports cibles. Les configurations de projet contrôlent certaines propriétés, dont le serveur de rapports cible, le dossier où le processus de génération stocke temporairement les définitions de rapport pour l'aperçu et le déploiement, et les niveaux d'erreur. Pour plus d’informations, consultez Propriétés de configuration et de déploiement et Définir des propriétés de déploiement (Reporting Services).

Exporter un rapport paginé vers un autre format de fichier

Les rapports peuvent être exportés dans différents formats. Ces formats ont une incidence sur le fonctionnement de certaines fonctionnalités de mise en page et d’interactivité des rapports. Pour plus d’informations sur les considérations relatives à la conception pour plusieurs formats de sortie, consultez Exporter des rapports paginés (Report Builder).

Niveaux de validation et d’erreur de rapport

Les rapports sont validés avant l'aperçu et lors du déploiement. Plusieurs problèmes peuvent se produire lorsque les rapports sont créés. Par exemple, les rapports peuvent contenir des chaînes, telles que des expressions ou requêtes, qui sont incompatibles avec la version de SSRS spécifiée par la configuration de projet.

Utilisez la propriété ErrorLevel pour gérer les avertissements de génération et erreurs. Vous pouvez affecter à la propriété ErrorLevel une valeur comprise entre 0 et 4 inclus. La valeur détermine les problèmes de génération qui sont signalés comme erreurs et ceux qui sont signalés comme avertissements. La valeur par défaut est 2. Les avertissements et les erreurs sont écrits dans la fenêtre Sortie de SSDT.

Les problèmes liés aux niveaux de gravité inférieurs ou égaux à la valeur ErrorLevel sont signalés comme des erreurs. Les autres problèmes sont signalés comme des avertissements.

Le tableau suivant répertorie les niveaux d'erreur.

Niveau d'erreur Description
0 Problèmes de génération les plus sévères qui empêchent l'aperçu et le déploiement de rapports
1 Problèmes de génération sévères qui modifient la mise en page de rapport radicalement
2 Problèmes de génération moins sévères qui modifient la mise en page de rapport de façon significative
3 Problèmes de génération mineurs qui modifient si peu la mise en page de rapport qu'ils peuvent passer inaperçus
4 Avertissements relatifs aux problèmes de publication

Vous pouvez essayer d’afficher un aperçu ou de déployer un rapport qui contient des éléments de rapport qui ne sont pas pris en charge dans votre version de SSRS. Toutefois, ces éléments de rapport sont parfois supprimés du rapport et une erreur de niveau 2 est émise. Si votre propriété ErrorLevel a la valeur par défaut de 2, la génération échoue dans ce cas.

Vous pouvez contourner ce problème en remplaçant la valeur ErrorLevel par 0 ou 1. Ensuite, lorsque l’élément est supprimé, un avertissement est émis et le processus de génération continue.