Leçon 3 : définir un jeu de données pour le rapport Table - SQL Server Reporting Services

Après avoir défini une source de données pour le rapport paginé, vous devez spécifier un dataset. Dans Reporting Services, les données utilisées par les rapports sont contenues dans des datasets. Un dataset contient un pointeur vers la source des données et une requête que doivent utiliser le rapport, les champs calculées et les variables.

Utilisez le Concepteur de requêtes du Concepteur de rapports pour définir le dataset. Pour ce tutoriel, vous allez créer une requête qui récupère des informations de commande client à partir de la base de données AdventureWorks2022.

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

  1. Dans le volet Données du rapport, sélectionnez Nouveau>Dataset. La boîte de dialogue Propriétés du dataset s’ouvre avec la section Requête affichée.

    Screenshot of the Dataset Properties dialog box showing the query section.

  2. Dans la zone de texte Nom, saisissez « AdventureWorksDataset ».

  3. Puis sélectionnez Utiliser un jeu de données incorporé dans mon rapport.

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

  5. Pour Type de requête, sélectionnez la case d’option Texte.

  6. Tapez 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'
    
  7. (Facultatif) Sélectionnez le bouton Concepteur de requêtes. La requête est affichée dans le Concepteur de requêtes textuel. Pour voir les résultats de la requête, sélectionnez le bouton exécution 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.

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

  9. Sélectionnez OK pour quitter la boîte de dialogue Propriétés du dataset .

Le volet Données du rapport affiche les champs et le dataset AdventureWorksDataset.

Screenshot of the Datasets folder showing the AdventureWorksDataset and its fields.

Étape suivante

Vous venez de spécifier une requête qui permet de récupérer des données pour votre rapport. Maintenant, vous allez créer la disposition du rapport. Poursuivez avec la Leçon 4 : ajout d’une table au rapport (Reporting Services).