レッスン 3 : テーブル レポートのデータセットの定義 (Reporting Services)
データ ソースを定義した後、データセットを定義する必要があります。Reporting Services では、レポートで使用するデータはデータセットに格納されます。データセットには、データ ソースへのポインタと、レポートで使用されるクエリ、および計算フィールドと変数が含まれています。
レポート デザイナでクエリ デザイナを使用すると、クエリをデザインできます。このチュートリアルでは、AdventureWorks2008 データベースから販売注文情報を取得するクエリを作成します。
レポート データ用に 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'
(省略可能) [クエリ デザイナ] ボタンをクリックします。クエリは、テキスト ベースのクエリ デザイナに表示されます。[テキストとして編集] をクリックすると、グラフィカルなクエリ デザイナに切り替えることができます。クエリの結果を表示するには、クエリ デザイナの [実行] (!) ボタンをクリックします。
AdventureWorks2008 データベースの 4 つの異なるテーブルの 6 個のフィールドから取得したデータが表示されます。クエリでは、エイリアスなど Transact-SQL の機能が利用されます。たとえば、SalesOrderHeader テーブルは soh と呼ばれます。
[OK] をクリックしてクエリ デザイナを終了します。
[OK] をクリックして [データセットのプロパティ] ダイアログ ボックスを閉じます。
レポート データ ペインに AdventureWorksDataset データセットのフィールドが表示されます。
次の作業
これで、レポートのデータを取得するクエリを指定できました。次に、レポートのレイアウトを作成します。「レッスン 4 : レポートへのテーブルの追加 (Reporting Services)」を参照してください。