Didacticiel : définir un jeu de données pour le rapport de table (Reporting Services)

Après avoir défini la source de données pour le rapport paginé, vous définissez un jeu de données pour une source de données. Dans Service de rapport, un jeu de données contient des données que vous utilisez dans les rapports. Un jeu de données contient un pointeur vers la source de données et une requête à utiliser par le rapport, les champs calculées et les variables.

Dans ce tutoriel, vous allez :

  • Définir un jeu de données pour le rapport de table.
  • Créez une requête Transact-SQL pour récupérer les informations de commande.

Prérequis

Définir une requête Transact-SQL pour les données du rapport

Créez une requête Transact-SQL qui récupère les informations de commande de la base de données AdventureWorks2022.

  1. Ouvrez votre fichier de modèle de rapport Sales Order (.rdl) dans Visual Studio.

  2. Dans le volet Données du rapport, sélectionnez Nouveau>Dataset. La boîte de dialogue Propriétés du jeu de données s’ouvre avec la section Requête mise en surbrillance.

    Capture d’écran de la boîte de dialogue Propriétés du jeu de données avec l'option de requête en surbrillance.

  3. Dans la case Nom, saisissez « AdventureWorksDataset ».

  4. Sélectionnez l’option Utiliser un jeu de données incorporé dans mon rapport.

  5. Dans la liste déroulante Source de données, sélectionnez AdventureWorks2022.

  6. Pour le type de requête, sélectionnez l'option Texte.

  7. Saisissez ou copiez et collez la requête Transact-SQL suivante dans la zone de texte Requête.

    SELECT
       soh.OrderDate AS [Date],
       soh.SalesOrderNumber AS [Order],
       pps.Name AS [Subcat],
       pp.Name as [Product],
       SUM(sd.OrderQty) AS [Qty],
       SUM(sd.LineTotal) AS [LineTotal]
    FROM Sales.SalesPerson sp
    INNER JOIN Sales.SalesOrderHeader AS soh
          ON sp.BusinessEntityID = soh.SalesPersonID
       INNER JOIN Sales.SalesOrderDetail AS sd
          ON sd.SalesOrderID = soh.SalesOrderID
       INNER JOIN Production.Product AS pp
          ON sd.ProductID = pp.ProductID
       INNER JOIN Production.ProductSubcategory AS pps
          ON pp.ProductSubcategoryID = pps.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS ppc
          ON ppc.ProductCategoryID = pps.ProductCategoryID
    GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, pps.Name, pp.Name,soh.SalesPersonID  
    HAVING ppc.Name = 'Clothing'
    
  8. (Facultatif) Sélectionnez Concepteur de requêtes. La requête apparaît dans le Concepteur de requêtes textuel. Sélectionnez exécuter pour afficher les résultats de la requête ( ) dans la barre d'outils du concepteur de requêtes. Le jeu de données affiché contient six champs tirés de quatre tables de la base de données AdventureWorks2022. La requête utilise des fonctionnalités Transact-SQL telles que des alias. Par exemple, la table SalesOrderHeader est intitulée soh.

  9. Sélectionnez OK pour quitter le Concepteur de requêtes.

  10. Sélectionnez OK pour quitter la boîte de dialogue Propriétés du jeu de données. Le volet Données du rapport affiche les champs et le dataset AdventureWorksDataset.

    Capture d’écran du dossier Datasets montrant AdventureWorksDataset et ses champs.

Étape suivante