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
- Fin de l’étape 1 : créer un projet de serveur de rapports.
- Fin de l’étape 2 : spécifiez les informations de connexion.
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
.
Ouvrez votre fichier de modèle de rapport Sales Order (.rdl) dans Visual Studio.
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.
Dans la case Nom, saisissez « AdventureWorksDataset ».
Sélectionnez l’option Utiliser un jeu de données incorporé dans mon rapport.
Dans la liste déroulante Source de données, sélectionnez AdventureWorks2022.
Pour le type de requête, sélectionnez l'option Texte.
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'
(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éesoh
.Sélectionnez OK pour quitter le Concepteur de requêtes.
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.