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

Nachdem Sie die Datenquelle festgelegt haben, müssen Sie ein Dataset definieren. In Reporting Services sind die Daten, die Sie in Berichten verwenden, in einem Dataset enthalten. Ein Dataset umfasst einen Zeiger auf eine Datenquelle sowie eine Abfrage, die vom Bericht verwendet werden, sowie berechnete Felder und Variablen.

Sie können den Abfrage-Designer im Berichts-Designer verwenden, um die Abfrage zu entwerfen. In diesem Lernprogramm erstellen Sie eine Abfrage, die Bestellinformationen von der AdventureWorks2008R2-Datenbank abruft.

So definieren Sie eine Transact-SQL-Abfrage für Berichtsdaten:

  1. Klicken Sie im Berichtsdatenbereich auf Neu und anschließend auf Dataset. Das Dialogfeld Dataseteigenschaften wird angezeigt.

  2. Geben Sie in das Feld Name den Namen AdventureWorksDataset ein.

  3. Klicken Sie auf das Optionsfeld Verwenden Sie ein in den eigenen Bericht eingebettetes Dataset. Der Name der Datenquelle, AdventureWorks, muss im Feld Datenquelle eingetragen sein, und als Abfragetyp muss Text verwendet werden.

  4. Geben Sie die folgende Transact-SQL-Abfrage entweder manuell oder durch Kopieren und Einfügen in das Feld 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' 
    
  5. (Optional) klicken Sie auf die Schaltfläche Abfrage-Designer. Die Abfrage wird im textbasierten Abfrage-Designer angezeigt. Sie können zum grafischen Abfrage-Designer wechseln, indem Sie auf Als Text bearbeiten klicken. Wenn Sie die Ergebnisse der Abfrage anzeigen möchten, klicken Sie auf der Symbolleiste des Abfrage-Designers auf die Schaltfläche Ausführen (!).

    Daraufhin werden die Daten von sechs Feldern aus vier verschiedenen Tabellen in der AdventureWorks2008R2-Datenbank angezeigt. Diese Abfrage nutzt Transact-SQL-Funktionen wie Aliase. Die Tabelle SalesOrderHeader wird z. B. soh genannt.

    Klicken Sie auf OK, um den Abfrage-Designer zu schließen.

  6. Klicken Sie auf OK, um das Dialogfeld Dataseteigenschaften zu beenden.

    Die Felder des AdventureWorksDataset-Datasets werden im Bereich für die Berichtsdaten angezeigt.

Nächste Aufgabe

Damit haben Sie erfolgreich eine Abfrage angegeben, die Daten für Ihren Bericht abruft. Als Nächstes erstellen Sie das Berichtslayout. Siehe Lektion 4: Hinzufügen einer Tabelle zum Bericht (Reporting Services).