第 3 課:定義資料表報表的資料集 (Reporting Services)
當您定義資料來源之後,就需要定義資料集。在 Reporting Services 中,報表所用的資料是包含在「資料集」 (Dataset) 中。資料集含有指向資料來源的指標和報表要用的查詢,以及計算的欄位和變數。
您可以使用報表設計師中的查詢設計工具來設計查詢。在此教學課程中,您將建立一項查詢來擷取 AdventureWorks2008R2 資料庫中的銷售訂單資訊。
若要定義報表資料的 Transact-SQL 查詢
在 [報表資料] 窗格中,按一下 [新增],然後按一下 [資料集]。[資料集屬性] 對話方塊隨即開啟。
在 [名稱] 方塊中,輸入 AdventureWorksDataset。
按一下 [使用內嵌在我的報表中的資料集] 選項按鈕。請確定資料來源的名稱 AdventureWorks 出現在 [資料來源] 文字方塊中,且 [查詢類型] 為 [文字]。
在 [查詢] 方塊中,輸入 (或複製和貼上) 下列 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'
(選擇性) 按一下 [查詢設計工具] 按鈕。查詢會顯示在以文字為基礎的查詢設計工具中。您可以按一下 [當成文字編輯],切換到圖形化查詢設計工具。若要檢視查詢的結果,請在查詢設計工具工具列上,按一下 [執行] (!) 按鈕。
您可以在 AdventureWorks2008R2 資料庫中,看到 4 個不同資料表的 6 個欄位。查詢會使用別名之類的 Transact-SQL 功能。例如,SalesOrderHeader 資料表稱為 soh。
按一下 [確定] 來結束查詢設計工具。
按一下 [確定],結束 [資料集屬性] 對話方塊。
您的 AdventureWorksDataset 資料集欄位會顯示在 [報表資料] 窗格中。