第 3 课:为表报表定义数据集(Reporting Services)

定义数据源后,需要定义数据集。 在 Reporting Services 中,报表中使用的数据包含在 数据集中。 数据集包括指向数据源的指针和报表要使用的查询,以及计算字段和变量。

可以使用报表设计器中的查询设计器来设计查询。 在本教程中,你将创建一个查询,用于从 AdventureWorks20122008 数据库中检索销售订单信息。

定义 Transact-SQL 查询以获取报表数据

  1. “报表数据 ”窗格中,单击“ 新建”,然后单击“ 数据集...”。此时会打开 “数据集属性 ”对话框。

  2. “名称 ”框中,键入 AdventureWorksDataset

  3. 单击使用嵌入在报表中的数据集

  4. 请确保数据源的名称 AdventureWorks2012 位于 “数据源 ”文本框中, 并且查询类型“文本”。

  5. “查询 ”框中键入或复制并粘贴以下 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'  
    
  6. (可选)单击 “查询设计器 ”按钮。 查询显示在基于文本的查询设计器中。 可以通过单击“ 编辑为文本”切换到图形查询设计器。 单击查询设计器工具栏上的“运行 ”按钮 查看查询的结果。

    你可以看到 AdventureWorks2012 数据库中四个不同表的六个字段的数据。 查询利用别名等 Transact-SQL 功能。 例如,SalesOrderHeader 表称为 soh。

    单击 “确定 ”退出查询设计器。

  7. 单击“ 确定 ”退出 “数据集属性 ”对话框。

    AdventureWorksDataset 数据集和字段显示在“报表数据”窗格中。

下一个任务

您已成功定义用于检索报表数据的查询。 接下来,你将创建报表布局。 请参阅第 4 课:向报表添加表(Reporting Services)。

另请参阅

报表设计器 SQL Server Data Tools 中的查询设计工具 (SSRS)
SQL Server 连接类型 (SSRS)
教程:编写 Transact-SQL 语句