教程:为表报表定义数据集 (Reporting Services)

为分页报表定义数据源后,请为数据源定义数据集。 在 Reporting Services 中,数据集包含在报表中使用的数据。 数据集包括一个指向数据源的指针、报表使用的查询、计算字段和变量。

在本教程中,可了解:

  • 为表报表定义数据集。
  • 创建一个 Transact-SQL 查询来检索销售订单信息。

先决条件

为报表数据定义 Transact-SQL 查询

创建一个 Transact-SQL 查询来从 AdventureWorks2022 数据库检索销售订单信息。

  1. 在 Visual Studio 中打开“销售订单”报表定义文件 (.rdl)。

  2. 在“报表数据”窗格中,选择“新建”>“数据集...”。“数据集属性”对话框将打开,并突出显示“查询”部分。

    “数据集属性”对话框的屏幕截图,突出显示查询选项。

  3. 在“名称”框中,输入“AdventureWorksDataset”。

  4. 选择“使用在我的报表中嵌入的数据集”选项。

  5. 从“数据源”下拉框中,选择“AdventureWorks2022”。

  6. 对于“查询类型”,选择“文本”选项。

  7. 将以下 Transact-SQL 查询输入或复制并粘贴到“查询”文本框中。

    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. (可选)选择“查询设计器”。 查询将在基于文本的“查询设计器”中显示。 选择“运行”以在“查询设计器”工具栏上查看查询 ( ) 的结果。 显示的数据集包含来自 AdventureWorks2022 数据库的四个表的六个字段。 查询利用别名等 Transact-SQL 功能。 例如,SalesOrderHeader 表称为 soh

  9. 选择“确定”以退出查询设计器。

  10. 选择“确定”以退出“数据集属性”对话框。 “报表数据”窗格将显示 AdventureWorksDataset 数据集和字段。

    “数据集”文件夹的屏幕截图,显示 AdventureWorksDataset 及其字段。

下一步