Leçon 3 : définition d'un dataset destiné à un rapport de table (Reporting Services)

Après avoir défini une source de données, vous devez spécifier un dataset. Dans Reporting Services, les données utilisées par les rapports sont contenues dans des datasets. Les datasets contiennent un pointeur qui renvoient à la source des données, la requête que doit utiliser le rapport ainsi que des champs et variables calculées.

Le Concepteur de requêtes du Concepteur de rapports permet de définir des requêtes. Lors de ce didacticiel, vous allez créer une requête qui extrait les informations des bons de commande depuis la base de données AdventureWorks2008R2.

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

  1. Dans le volet Données du rapport, cliquez sur Nouveau, puis sur Dataset. La boîte de dialogue Propriétés du dataset s'ouvre.

  2. Dans la zone Nom, tapez AdventureWorksDataset.

  3. Cliquez sur le bouton radio Utiliser un dataset incorporé dans mon rapport. Assurez-vous que le nom de votre source de données, à savoir AdventureWorks, figure dans la zone de texte Source de données et que le Type de requête correspond à Texte.

  4. Tapez ou copiez et collez la requête Transact-SQL ci-après dans la zone 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' 
    
  5. (Facultatif) Cliquez sur le bouton Concepteur de requêtes. La requête est affichée dans le Concepteur de requêtes textuel. Vous pouvez utiliser le Concepteur de requêtes graphique en cliquant sur l'option Modifier en tant que texte. Pour afficher les résultats de la requête, cliquez sur le bouton Exécuter (!) qui figure dans la barre d'outils du Concepteur de requêtes.

    Vous pouvez consulter les données contenues dans six champs différents à partir de quatre tables différentes de la base de données AdventureWorks2008R2. La requête utilise des fonctionnalités Transact-SQL telles que des alias. Par exemple, la table SalesOrderHeader se nomme soh.

    Cliquez sur OK pour quitter le Concepteur de requêtes.

  6. Cliquez sur OK pour quitter la boîte de dialogue Propriétés du dataset.

    Les champs de votre dataset AdventureWorksDataset s'affichent dans le volet Données du rapport.

Tâche suivante

Vous venez de spécifier une requête qui permet d'extraire les données pour votre rapport. Vous allez ensuite créer la disposition du rapport. Consultez Leçon 4 : Ajout d'une table au rapport (Reporting Services).