Teilen über


Tutorial: Definieren eines Datasets für den Tabellenbericht (Reporting Services)

Sobald Sie die Datenquelle für den paginierten Bericht definiert haben, müssen Sie ein Dataset für eine Datenquelle definieren. In Reporting Services enthält ein Dataset die Daten, die Sie in Berichten verwenden. Ein Dataset umfasst einen Zeiger auf eine Datenquelle und eine Abfrage zur Verwendung durch den Bericht, sowie berechnete Felder und Variablen.

In diesem Tutorial:

  • Definieren Sie ein Datasets für den Tabellenbericht.
  • Erstellen Sie eine Transact-SQL-Abfrage zum Abrufen von Informationen zu Verkaufsaufträgen.

Voraussetzungen

Definieren einer Transact-SQL-Abfrage für Berichtsdaten

Erstellen Sie eine Transact-SQL-Abfrage, die Informationen zu Verkaufsaufträgen aus der AdventureWorks2022-Datenbank abruft.

  1. Öffnen Sie Ihre Berichtsdefinitionsdatei für Verkaufsaufträge (.rdl) in Visual Studio.

  2. Wählen Sie im Bereich Berichtsdaten die Option Neu>Dataset... aus. Der Dialog Dataseteigenschaften wird mit hervorgehobenem Abschnitt Abfrage geöffnet.

    Screenshot des Dialogs für Dataseteigenschaften mit hervorgehobener Abfrageoption.

  3. Geben Sie in das Feld Name „AdventureWorksDataset“ ein.

  4. Wählen Sie die Option Ein in meinen Bericht eingebettetes Dataset verwenden aus.

  5. Wählen Sie in der Liste Datenquelle die Option AdventureWorks2022 aus.

  6. Wählen Sie für Abfragetyp die Option Text aus.

  7. Geben Sie die folgende Transact-SQL-Abfrage entweder manuell oder durch Kopieren und Einfügen in das Textfeld Abfrage ein.

    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. (Optional) Wählen Sie Abfrage-Designer aus. Die Abfrage wird im textbasierten Abfrage-Designer angezeigt. Wählen Sie in der Symbolleiste des Abfrage-Designers die Option Ausführen aus, um die Ergebnisse der Abfrage anzuzeigen (). Das angezeigte Dataset enthält sechs Felder aus vier Tabellen der Datenbank AdventureWorks2022. Diese Abfrage nutzt Transact-SQL-Funktionen wie Aliase. Beispielsweise wird die Tabelle SalesOrderHeader als soh bezeichnet.

  9. Klicken Sie auf OK, um den Abfrage-Designer zu beenden.

  10. Klicken Sie auf OK, um den Dialog Dataseteigenschaften zu beenden. Die Felder und das Dataset „AdventureWorksDataset“ werden im Bereich Berichtsdaten angezeigt.

    Screenshot des Ordners „Datasets“ mit dem AdventureWorksDataset und den zugehörigen Feldern.

Nächster Schritt