共用方式為


第 3 課:定義資料表報表的資料集 (Reporting Services)

當您定義資料來源之後,就需要定義資料集。在 Reporting Services 中,報表所用的資料是包含在「資料集」 (Dataset) 中。資料集含有指向資料來源的指標和報表要用的查詢,以及計算的欄位和變數。

您可以使用報表設計師中的查詢設計工具來設計查詢。在此教學課程中,您將建立一項查詢來擷取 AdventureWorks2008R2 資料庫中的銷售訂單資訊。

若要定義報表資料的 Transact-SQL 查詢

  1. [報表資料] 窗格中,按一下 [新增],然後按一下 [資料集][資料集屬性] 對話方塊隨即開啟。

  2. [名稱] 方塊中,輸入 AdventureWorksDataset。

  3. 按一下 [使用內嵌在我的報表中的資料集] 選項按鈕。請確定資料來源的名稱 AdventureWorks 出現在 [資料來源] 文字方塊中,且 [查詢類型][文字]

  4. [查詢] 方塊中,輸入 (或複製和貼上) 下列 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' 
    
  5. (選擇性) 按一下 [查詢設計工具] 按鈕。查詢會顯示在以文字為基礎的查詢設計工具中。您可以按一下 [當成文字編輯],切換到圖形化查詢設計工具。若要檢視查詢的結果,請在查詢設計工具工具列上,按一下 [執行] (!) 按鈕。

    您可以在 AdventureWorks2008R2 資料庫中,看到 4 個不同資料表的 6 個欄位。查詢會使用別名之類的 Transact-SQL 功能。例如,SalesOrderHeader 資料表稱為 soh。

    按一下 [確定] 來結束查詢設計工具。

  6. 按一下 [確定],結束 [資料集屬性] 對話方塊。

    您的 AdventureWorksDataset 資料集欄位會顯示在 [報表資料] 窗格中。

下一項工作

您已順利指定一項擷取報表資料的查詢。之後,您要建立報表配置。請參閱<第 4 課:將資料表加入至報表 (Reporting Services)>。