Création et ajout de datasets (Générateur de rapports version 3.0 et SSRS)

Un dataset spécifie les données que vous souhaitez utiliser à partir d'une connexion de données. Un dataset est basé sur une connexion de données enregistrée dans le rapport en tant que source de données incorporée ou référence à une source de données partagée sur un serveur de rapports. Le dataset inclut une requête qui spécifie un ensemble de champs. Lorsque vous faites glisser ces champs vers l'aire de conception, vous créez des expressions qui correspondent aux données effectives lorsque le rapport s'exécute.

Il existe deux types de datasets :

  • Dataset partagé. Un dataset partagé est défini sur le serveur de rapports. Vous pouvez accéder au serveur pour créer un dataset partagé ou sélectionner un dataset prédéfini à ajouter à votre rapport.

  • Dataset incorporé. Un dataset incorporé est uniquement défini dans et utilisé par le rapport dans lequel il est incorporé.

Un dataset inclut également des paramètres, filtres et options de données qui spécifient des informations de classement, pour le respect de la casse, des caractères de type Kana, de la largeur des caractères et des accents.

Création de datasets à partir de sources de données externes

  1. Datasets dans le volet Données du rapport   Un dataset s'affiche dans le volet Données du rapport une fois que vous avez créé un dataset incorporé ou que vous avez ajouté un dataset partagé. Un dataset repose sur une source de données.

  2. Concepteur de requêtes   Lorsque vous concevez une requête de dataset, le concepteur de requêtes associé au type de source de données s'ouvre.

  3. Commande de requête    Le concepteur de requêtes vous aide à générer une commande de requête. La syntaxe de commande est déterminée par le fournisseur de données.

  4. Extension de données/Fournisseur de données   La connexion aux données peut s'effectuer via plusieurs couches d'accès aux données.

  5. Sources de données externes   Récupérez des données à partir de bases de données relationnelles, bases de données multidimensionnelles, listes SharePoint, services Web ou modèles de rapport.

  6. Résultats de la requête    Vous pouvez exécuter la requête et consulter un exemple de jeu de résultats. Vous devez disposer d'informations d'identification au moment de la conception pour exécuter une requête.

  7. **Métadonnées du schéma   **Le fournisseur de données exécute une commande de requête de schéma indépendamment de la requête afin de récupérer des métadonnées pour la collection de champs de dataset. Par exemple, une instruction Transact-SQLSELECT retourne les noms de colonnes d'une table de base de données. Utilisez le volet Données du rapport pour développer le dataset afin d'afficher la collection de champs de dataset. 

Il est également possible d'inclure des données dans un rapport à l'aide de datasets partagés et de parties de rapports partagées. Ces éléments possèdent déjà les informations de connexion de données dont vous avez besoin. Pour plus d'informations, consultez Ajout de données à un rapport (Générateur de rapports version 3.0 et SSRS) et Parties de rapports (Générateur de rapports version 3.0).

Pour plus d'informations sur les types de sources de données intégrés et les extensions de données, consultez Ajout de données de sources de données externes (SSRS).

Notes

Vous pouvez créer et modifier des définitions de rapports (.rdl) dans le Générateur de rapports version 3.0 et dans le Concepteur de rapports, dans Business Intelligence Development Studio. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes. Pour plus d'informations, consultez Conception de rapports dans le Concepteur de rapports et le Générateur de rapports version 3.0 (SSRS) sur le site Web Microsoft.

Dans cet article

Fonctionnement des datasets de rapport et des requêtes

Comparaison et création de datasets partagés et datasets incorporés

Tri, regroupement et filtrage des données dans un dataset

Utilisation de paramètres et de datasets

Utilisation de modèles de rapport

Utilisation de datasets et de cartes

Affichage de données de plusieurs datasets

Affichage d'un message lorsque aucune ligne de données n'est disponible

Définition des options de dataset

Fonctionnement des datasets de rapport et des requêtes

Un dataset de rapport contient une commande de requête qui s'exécute sur la source de données externe et spécifie les données à récupérer. Pour générer la commande de requête, vous utilisez le concepteur de requêtes associé à l'extension de données pour la source de données externe. Dans le concepteur de requêtes, vous pouvez exécuter la commande de requête et afficher un jeu de résultats. Le jeu de résultats est un ensemble de lignes rectangulaire qui a des noms de colonnes et des lignes avec le même nombre de valeurs dans chaque ligne. Les données hiérarchiques, également appelées hiérarchies déséquilibrées, ne sont pas prises en charge. Les noms des colonnes sont enregistrés dans la définition de rapport sous forme de liste de champs de dataset.

Après avoir ajouté des datasets à votre rapport, vous faites glisser des champs de leurs collections de champs dans le volet Données du rapport vers les tables, graphiques et autres éléments de rapport que vous utilisez pour concevoir le modèle de rapport. Pour plus d'informations sur l'utilisation des champs, consultez Utilisation de champs dans un dataset de rapport (Générateur de rapports version 3.0 et SSRS).

Fonctionnement des données d'un dataset de rapport

Selon l'extension de données, un dataset de rapport peut être constitué des types de données suivants :

  • Jeu de résultats provenant d'une base de données relationnelle, qui peut résulter de l'exécution de commandes de base de données, de procédures stockées ou de fonctions définies par l'utilisateur. Si plusieurs jeux de résultats sont extraits par l'intermédiaire d'une requête unique, seul le premier jeu de résultats est traité et tous les autres jeux de résultats sont ignorés. Par exemple, lorsque vous exécutez la requête suivante dans le concepteur de requêtes textuel, seul le jeu de résultats pour Production.Product apparaît dans le volet de résultats :

    SELECT ProductID FROM Production.Product
    GO
    SELECT ContactID FROM Person.Contact
    
  • Ensemble de lignes aplati extrait de sources de données multidimensionnelles qui utilisent le protocole XMLA (XML for Analysis). Certains fournisseurs de données fournissent des propriétés de cellule et de dimension supplémentaires à partir de la source de données qui ne sont pas affichées dans le jeu de résultats, mais qui sont disponibles dans votre rapport.

  • Jeu de résultats aplati extraits de sources de données XML qui incluent des éléments XML, leurs attributs et leurs éléments enfants.

  • Jeu de résultats extrait de tous les fournisseurs de données .NET Framework enregistrés et configurés.

  • Données d'un modèle de rapport qui a été conçu pour une source de données spécifique, avec des entités, des relations d'entités et des champs prédéfinis. Pour plus d'informations, consultez « Utilisation de modèles de rapport comme sources de données » dans la documentation de Reporting Services dans la documentation en ligne de SQL Server.

Lorsque le rapport est traité au moment de l'exécution, le jeu de résultats réel retourné pour une requête peut comporter aucune ou plusieurs lignes. Les colonnes définies dans la requête peuvent également être manquantes dans la source de données. Les valeurs Null de la source de données sont mappées à la valeur .NET Framework value System.DBNull.Value.

Pour plus d'informations sur les champs de dataset, consultez Utilisation de champs dans un dataset de rapport (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Requête de dataset

Lorsque vous exécutez une requête de dataset dans un concepteur de requêtes lors de la conception, vous voyez s'afficher un ensemble de lignes extrait de la source de données en guise de données d'exemple. Au moment de l'exécution, lorsqu'un utilisateur consulte le rapport, la requête de dataset peut produire des valeurs différentes, car les données sur la source de données ont changé. Chaque fois que le rapport est traité, de nouvelles données peuvent apparaître.

Lorsque vous définissez chaque dataset, le Générateur de rapports ouvre le concepteur de requêtes qui correspond au type de source de données pour vous aider à concevoir des requêtes. Par exemple, pour définir une requête pour des données d'une base de données relationnelle SQL Server, les Assistants Tableau, Matrice, Graphique et Carte ouvrent une simple interface graphique qui vous aide à générer la requête ; vous n'avez plus qu'à sélectionner les champs souhaités dans votre dataset.

Dans un concepteur de requêtes, vous pouvez effectuer les tâches suivantes :

  • Basculer entre l'affichage des requêtes graphique et textuel. Utilisez l'affichage graphique pour explorer des schémas, tables, vues et procédures stockées sur la source de données. Utilisez l'affichage textuel pour taper, coller ou visualiser une requête existante, utilisée en général pour une requête complexe qui ne peut pas être affichée dans un concepteur de requêtes graphique. Par exemple, vous pouvez importer une requête à partir d'un fichier Transact-SQL (.sql), un rapport différent sur le serveur de rapports ou un fichier de définition de rapport (.rdl) à partir d'un partage de fichiers.

  • Exécuter la requête pour afficher les données. La requête retourne un jeu de résultats. Les colonnes dans le jeu de résultats deviennent la collection de champs pour le dataset. Les lignes dans le résultat deviennent les données pour le dataset. Vous pouvez modifier la requête jusqu'à ce que vous obteniez les colonnes escomptées.

  • Ajouter des paramètres de requête pour récupérer les données à inclure dans votre rapport. Les paramètres de requête génèrent automatiquement des paramètres de rapport correspondants. Pour une source de données de modèle de rapport, le filtre que vous spécifiez génère automatiquement un paramètre de rapport correspondant. Les paramètres de rapport permettent aux utilisateurs de spécifier les données de rapport qu'ils souhaitent afficher lors de l'exécution du rapport. Par exemple, l'utilisateur sélectionne les catégories de produits pour lesquelles il souhaite des données et, lors de l'exécution du rapport, seules les données pour ces catégories de produits s'affichent dans le rapport.

  • Importer une requête existante à partir d'un autre rapport.

Les concepteurs de requêtes peuvent fournir un mode graphique ou un mode texte selon le type de source de données. Si vous choisissez le mode texte, vous devez utiliser la syntaxe de requête appropriée pour la source de données.

Lorsque vous définissez un dataset de rapport, vous pouvez définir des propriétés de données dans la requête ou accepter les paramètres par défaut définis par le fournisseur de données. Pour modifier un type de données, vous pouvez utiliser l'une des méthodes suivantes :

  • Réécrivez la requête de dataset pour convertir spécifiquement un champ en un type de données différent.

  • Modifiez le champ dans le dataset et fournissez un format personnalisé.

  • Créez un champ personnalisé en fonction d'un champ de base de données et fournissez un format personnalisé.

Pour plus d'informations, consultez Utilisation de champs dans un dataset de rapport (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Importation de requêtes existantes pour un dataset

Lorsque vous créez un dataset, vous pouvez créer une requête ou vous pouvez importer une requête existante à partir d'un fichier ou d'un autre rapport. Lorsque vous importez une requête à partir d'un autre rapport, vous pouvez choisir la requête à importer de la liste des datasets du rapport.

Seuls les types de fichiers .sql et .rdl sont pris en charge. Les requêtes MDX (Multidimensional Expression) et DMX (Data Mining Prediction) ainsi que les requêtes de modèle (SMQL) peuvent uniquement être générées par le concepteur de requêtes associé.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Comparaison et création de datasets partagés et datasets incorporés

Un dataset incorporé est défini dans un rapport ou dans une partie de rapport publiée. Les modifications apportées à un dataset incorporé affectent uniquement ce rapport ou cette partie de rapport.

Un dataset partagé est défini sur un serveur de rapports ou site SharePoint, est basé sur une source de données partagée et peut être utilisé par plusieurs rapports et parties de rapports. Les modifications apportées à une définition de dataset partagé affectent tous les rapports et toutes les parties de rapports qui l'utilisent.

Lorsque vous ajoutez un dataset partagé à un rapport, la collection de champs de dataset est mise à jour vers la définition actuelle sur le serveur de rapports. Vous ne recevez pas de notifications de mise à jour lorsque des modifications sont effectuées sur le serveur de rapports. Pour synchroniser une copie locale de la collection de champs avec les modifications apportées à la définition de dataset partagé sur le serveur de rapports, vous devez actualiser la collection de champs locale. Pour plus d'informations, consultez Procédure : ajouter, modifier ou actualiser des champs dans le volet Données du rapport (Générateur de rapports version 3.0 et SSRS).

Les éléments de rapport publiés contiennent les datasets incorporés et partagés desquels ils dépendent. Pour plus d'informations, consultez Utilisation de parties de rapports et de datasets dans le Générateur de rapports version 3.0.

Pour plus d'informations sur la création de datasets, consultez Procédure : créer un dataset partagé ou incorporé (Générateur de rapports version 3.0 et SSRS). Pour plus d'informations sur la gestion de datasets partagés après qu'ils ont été enregistrés sur un serveur de rapports, consultez Gestion de Datasets partagés dans la documentation de Reporting Services dans la documentation en ligne de SQL Server.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Tri, regroupement et filtrage des données dans un dataset

Les données dans un dataset proviennent de l'exécution d'une commande de requête sur une source de données externe. La syntaxe de commande de requête pour une extension de données détermine si les données peuvent être triées ou regroupées. Le tri et le regroupement ont lieu dans la requête avant que les données ne soient récupérées pour un rapport. Le filtrage se déroule une fois que les données ont été récupérées pour un rapport.

Pour plus d'informations, consultez Filtrage, regroupement et tri des données (Générateur de rapports version 3.0 et SSRS).

Filtrage de données dans un dataset

Les filtres font partie de la définition de dataset dans un rapport. Utilisez les filtres de dataset pour spécifier les données d'un dataset à inclure dans un rapport. Lorsque vous spécifiez des filtres sur un dataset, toutes les régions de données basées sur le dataset affichent uniquement les données qui traversent les filtres de dataset.

Les filtres font partie de la définition d'un dataset partagé. Les filtres de dataset partagé affectent tous les rapports qui incluent le dataset partagé. Après avoir ajouté un dataset partagé à votre rapport, ou après avoir ajouté un composant avec un dataset partagé dépendant, vous pouvez créer des filtres de dataset supplémentaires. Les filtres que vous créez sont utilisés uniquement dans votre rapport et ne font pas partie de la définition de dataset partagé sur le serveur de rapports.

Vous pouvez définir des filtres supplémentaires sur une région de données ou un groupe de régions de données. Vous pouvez également utiliser une combinaison de paramètres et de filtres pour permettre aux utilisateurs de choisir les données qu'ils souhaitent voir dans un rapport. Pour plus d'informations, consultez Paramètres (Générateur de rapports version 3.0 et SSRS).

Tri des données dans un dataset

Dans un dataset, l'ordre des données est celui dans lequel elles sont récupérées de la source de données externe. Il s'agit du même ordre que celui que vous voyez quand vous exécutez la requête dans le concepteur de requêtes. Si la syntaxe de commande de requête prend en charge le tri, vous pouvez modifier la requête pour trier les données à la source, avant qu'elles ne soient retournées comme données de rapport. Par exemple, pour une requête Transact-SQL, l'instruction ORDER BY contrôle l'ordre de tri.

Pour trier les données après qu'elles ont été retournées au rapport, définissez des expressions de tri sur les régions de données et les groupes de régions de données. Pour plus d'informations, consultez la rubrique pour le type spécifique de région de données, par exemple Tables, matrices et listes (Générateur de rapports version 3.0 et SSRS).

Vous pouvez également utiliser une combinaison de paramètres et d'expressions de tri pour permettre aux utilisateurs de choisir l'ordre de tri pour les données dans un rapport. Pour plus d'informations, consultez Paramètres (Générateur de rapports version 3.0 et SSRS).

Regroupement de données dans un dataset

Vous ne pouvez pas regrouper de données dans un dataset. Pour agréger des données dans un dataset, vous pouvez modifier la commande de requête pour calculer des agrégats avant que les données ne soient récupérées pour un rapport. Elles sont connues sous le nom d'agrégats de serveur. Dans les expressions, pour identifier ces valeurs comme agrégats calculés à l'avance, utilisez la fonction Aggregate. Pour plus d'informations, consultez Fonction d'agrégation (Générateur de rapports version 3.0 et SSRS).

Utilisation de paramètres et de datasets

Pour une requête de dataset incorporé qui comprend des variables de requête, des paramètres de requête et paramètres de rapport correspondants sont créés automatiquement. Lors de l'exécution du rapport, la valeur du paramètre de rapport est liée au paramètre de requête du dataset. De cette façon, la commande de requête qui s'exécute sur la source de données externe inclut les valeurs spécifiées pour les paramètres de rapport. Les paramètres de rapport permettent à un utilisateur de choisir les données qu'il souhaite voir dans le rapport. Vous pouvez afficher la façon dont les paramètres de requête et paramètres de rapport sont liés à la page Boîte de dialogue Propriétés du dataset, Paramètres (Générateur de rapports version 3.0).

Pour un dataset partagé, les paramètres de requête font partie de la définition de dataset partagé qui peut être gérée sur le serveur de rapports indépendamment d'un rapport. La liste suivante décrit la prise en charge des valeurs de paramètres de requête :

  • Peut être basé sur une expression.

  • Peut inclure des valeurs par défaut.

  • Peut être en lecture seule. Les paramètres en lecture seule ne peuvent pas être modifiés dans une instance du dataset partagé dans un rapport.

  • Ne peut pas inclure de références à la collection intégrée Parameters, qui représente des paramètres de rapport.

Pour configurer des valeurs de paramètres de requête pour un dataset partagé, en mode création de dataset, recherchez et ouvrez un dataset partagé du serveur de rapports et définissez des options à la page Boîte de dialogue Propriétés du dataset, Paramètres (Générateur de rapports version 3.0). Pour plus d'informations, consultez Procédure : créer un dataset partagé ou incorporé (Générateur de rapports version 3.0 et SSRS).

Pour certaines sources de données multidimensionnelles, telles que Analysis Services, le concepteur de requêtes graphique vous permet de spécifier des filtres de requête et de sélectionner une option pour créer un paramètre de requête correspondant. Lorsque vous sélectionnez l'option de paramètre, l'extension de données crée automatiquement un dataset de rapport séparé afin de fournir des valeurs disponibles pour une liste déroulante pour ce paramètre. Par défaut, ces datasets masqués n'apparaissent pas dans le volet Données du rapport.

Les paramètres de rapport liés aux paramètres de requête permettent de filtrer les données avant qu'elles ne soient retournées de la source de données externe. Vous pouvez également filtrer les données dans le rapport en créant des filtres qui font partie de la définition de rapport. Pour plus d'informations, consultez Filtrage, regroupement et tri des données (Générateur de rapports version 3.0 et SSRS).

Affichage des datasets masqués

Lorsque vous créez une requête paramétrable pour plusieurs sources de données multidimensionnelles, des datasets qui fournissent des valeurs valides pour le paramètre sont automatiquement créés. Sur certains concepteurs de requêtes, vous effectuez cette opération en spécifiant des filtres, puis en sélectionnant l'option pour créer des paramètres. Par défaut, ces datasets n'apparaissent pas dans le volet Données du rapport, mais ils peuvent être affichés. Pour plus d'informations, consultez Procédure : afficher des datasets masqués pour les valeurs de paramètres pour des données multidimensionnelles (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Utilisation de modèles de rapport

Les modèles de rapport vous permettent de sélectionner des données pour un rapport sans avoir une connaissance détaillée de la structure des données sur la source de données sous-jacente. Une personne compétente en matière de conception de modèle doit d'abord créer un modèle de rapport et le publier avant qu'il ne puisse être utilisé comme source de données.

Les modèles de rapport contiennent des champs prédéfinis et des relations de données, appelées entités et rôles, qui apparaissent dans le volet Données. Vous pouvez utiliser ces éléments tout comme vous le faites avec les champs de dataset : en les faisant glisser sur l'aire de conception à mesure que vous concevez votre rapport. Pour plus d'informations, consultez Interface utilisateur du Concepteur de requêtes de modèle de rapport (Générateur de rapports version 3.0).

Pour plus d'informations sur la façon de créer des modèles de rapport, consultez « Utilisation du Générateur de modèles » dans la documentation de Reporting Services dans la documentation en ligne de SQL Server. Pour plus d'informations sur la création de rapports ad hoc, consultez Conception et implémentation de rapports à l'aide du Générateur de rapports version 1.0 sur le site msdn.microsoft.com.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Utilisation de cartes et de datasets

Si vous incluez une carte dans votre rapport, vous devez fournir des données spatiales. Les données spatiales peuvent provenir d'un dataset de rapport, d'une carte de la bibliothèque de cartes ou de fichiers de forme ESRI. Les données spatiales d'un rapport ou d'un fichier de forme ESRI ne s'affichent pas comme un dataset dans le volet Données du rapport. Pour plus d'informations, consultez Cartes (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Affichage de données de plusieurs datasets

Un rapport comporte généralement plusieurs datasets. La liste suivante décrit la manière dont vous pouvez utiliser les datasets dans un rapport :

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Affichage d'un message lorsque aucune ligne de données n'est disponible

Durant le traitement du rapport, lorsque la requête pour un dataset s'exécute, le jeu de résultats peut ne contenir aucune ligne. Dans le rapport rendu, une région de données liée à un dataset vide s'affiche comme une région de données vide. Vous pouvez spécifier le texte à afficher à la place de la région de données vide dans le rapport rendu. Vous pouvez également spécifier un message pour les sous-rapports lorsque les requêtes pour tous les datasets ne produisent aucune donnée lors de l'exécution. Pour plus d'informations, consultez Procédure : définir un message d'absence de données pour une région de données (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Définition des options de dataset

Pour les sources de données qui prennent en charge des données internationales, vous devrez éventuellement modifier les propriétés d'un dataset qui affectent l'ordre de tri, les propriétés des caractères internationaux et le respect de la casse. Ces propriétés incluent : casse, jeu de caractères Kana, largeur, accent et classement. Pour plus d'informations, consultez « Considérations relatives à la prise en charge internationale des bases de données et des applications de moteur de base de données » et « Utilisation des classements » dans la documentation en ligne de SQL Server. Pour plus d'informations sur la façon de définir ces propriétés, consultez Boîte de dialogue Propriétés du dataset, Options (Générateur de rapports version 3.0).

Icône de flèche utilisée avec le lien Retour au débutRetour au début