次の方法で共有


SQL Server リレーショナル データベースからのレポート データセットの作成

Reporting Services には、MicrosoftSQL Server リレーショナル データベースからレポート データを取得するためのデータ処理拡張機能が用意されています。このデータ処理拡張機能によって、リレーショナル データ テーブル、ビュー、ストアド プロシージャなど、基になるデータ ソースで定義されたさまざまなデータ構造からデータを取得できます。データ ソースに接続した後、レポート データセットを作成し、データ ソースからどのようなデータを抽出してレポートに使用するかを定義できます。Reporting Services のデータセットには、データ ソース、レポート処理時にデータを取得するためのクエリ、およびフィールドのコレクションが含まれます。データセットの定義は、レポート定義に保存されます。レポート データ ペインには、レポートで使用されている現在のデータセット定義が表示されます。

データセットは、Transact-SQL クエリ テキストまたはストアド プロシージャ呼び出しを使ってクエリを作成するか、テーブルを選択して、すべてのデータをそのテーブルから取得することによって定義します。データセットのフィールド コレクションはクエリに基づいて自動的に作成されます。フィールドを編集したり、計算フィールドを追加したりすることが可能です。計算フィールドには、式を使った値が割り当てられ、その値はクエリの実行時に計算されます。フィールドのデータ型は、.NET Framework の共通言語ランタイム (CLR) データ型のサブセットにマップされます。詳細については、「レポート データセットについて」および「SQL Server データ ソースからデータを取得する方法」を参照してください。

リレーショナル データ ソースに使用できるクエリ デザイナーとして、テキスト ベースのクエリ デザイナーとグラフィカル クエリ デザイナーの 2 つがあります。既定では、テキスト ベースのクエリ デザイナーが表示されます。テキスト ベースのクエリ デザイナーは、Transact-SQL テキストを直接入力する、クエリ テキストを別のソースから貼り付ける、グラフィカル クエリ デザイナーでは作成できない複雑なクエリを入力する、クエリ ベースの式を入力する、などの場合に使用します。グラフィカル クエリ デザイナーは、データ ソース上のメタデータを参照しながら、クエリを対話的にデザインする場合や、データ ソース上のストアド プロシージャまたはテーブルを一覧表示する場合に使用します。詳細については、「グラフィカルなクエリ デザイナーのユーザー インターフェイス」、「テキスト ベースのクエリ デザイナーのユーザー インターフェイス」、および「SQL Server データ ソースからデータを取得する方法」を参照してください。

クエリを定義した後、Timeout や CaseSensitivity などのプロパティを指定したり、クエリ パラメーターに値を渡すレポート パラメーターを定義することもできます。クエリを実行すると、データ ソースから抽出された結果セットが表示されます。結果セットの列は、データセットのフィールドにマップされます。レポートを処理すると、データセットのフィールドにバインドされているレポート アイテムに、取得されたデータまたは集計されたデータが表示されます。レポートによって処理されるのは、クエリから取得された最初の結果セットだけです。

クエリの指定

SQL Server データ ソースでは、テキスト ベースのクエリ デザイナーまたはグラフィカル クエリ デザイナーを使用して、データセットにクエリを指定できます。新しいデータセットにクエリを指定するときは、既定でグラフィカル クエリ デザイナーが開きます。既存のデータセット クエリが複雑すぎてグラフィカル クエリ デザイナーで表示できない場合は、テキスト ベースのクエリ デザイナーが開きます。両方のクエリ デザイナーは、[Text] および [StoredProcedure] の種類のクエリをサポートします。クエリ デザイナーを開く前に、[データセットのプロパティ] ダイアログ ボックスでクエリの種類を指定します。

Text の種類のクエリでは、クエリ パラメーターがクエリ テキストに含まれている場合、対応するレポート パラメーターが Reporting Services によって作成されます。StoredProcedure の種類のクエリでは、ストアド プロシージャに入力パラメーターがある場合、対応するレポート パラメーターが Reporting Services によって作成されます。クエリ パラメーターおよびレポート パラメーターの詳細については、このトピックで後述されている「クエリ パラメーターの使用」を参照してください。

各クエリ デザイナーの詳細については、「テキスト ベースのクエリ デザイナーのユーザー インターフェイス」および「グラフィカルなクエリ デザイナーのユーザー インターフェイス」を参照してください。

Text の種類のクエリの使用

クエリ デザイナーが Text モードで開いた場合、Transact-SQL コマンドを入力して、データセット内のデータを定義できます。たとえば、次の Transact-SQL クエリでは、すべての従業員の名前を選択します。

SELECT FirstName, LastName
FROM   HumanResources.Employee AS E INNER JOIN
       Person.Person AS P ON  E.BusinessEntityID = P.BusinessEntityID;

ツール バーの [実行] ボタン (!) をクリックすると、クエリが実行され、結果ペインに結果が表示されます。

別のレポートまたは sql ファイルから既存のクエリをインポートすることもできます。

StoredProcedure の種類のクエリの使用

クエリ デザイナーが StoredProcedure モードで開いた場合、[データセットのプロパティ] ダイアログ ボックスで [StoredProcedure] を指定したときに、使用するストアド プロシージャが既に選択されています。

実行する別のストアド プロシージャの名前がわかっている場合は、既存のテキストを置換して、クエリ ペインに新しいストアド プロシージャの名前を入力できます。

Reporting Services では、データのセットを 1 つだけ返すストアド プロシージャをサポートしています。ストアド プロシージャから複数の結果セットが返された場合、最初の結果セットだけが使用されます。

既定値が指定されたパラメーターがストアド プロシージャに含まれている場合、パラメーターの値として DEFAULT キーワードを使用して Reporting Services からその値にアクセスできます。クエリ パラメーターがレポート パラメーターにリンクされている場合は、レポート パラメーターの入力ボックスで DEFAULT キーワードを入力または指定できます。詳細については、「ストアド プロシージャ (データベース エンジン)」を参照してください。

クエリ パラメーターの使用

パラメーターを含むクエリ テキストまたは入力パラメーターを含むストアド プロシージャの場合、レポート デザイナーによって、対応するレポート パラメーターがクエリの実行時にレポート定義に自動的に作成されます。レポートが実行されると、レポート パラメーターの値がクエリ パラメーターに渡されます。たとえば、次の SQL クエリでは、EmpID という名前のレポート パラメーターが作成されます。

SELECT FirstName, LastName FROM HumanResources.Employee AS E 
INNER JOIN
       Person.Person AS P ON  E.BusinessEntityID = P.BusinessEntityID 
WHERE E.BusinessEntityID = @EmpID;

レポート パラメーターとクエリ パラメーターの関係は、[パラメータ] ([データセットのプロパティ] ダイアログ ボックス) を使用して管理できます。パラメーターが使用されているクエリで、レポート パラメーターにリンクされているクエリには、DECLARE ステートメントは必要ありません。

クエリ パラメーターからレポート パラメーターが自動的に作成されますが、レポート パラメーターはレポート データ ペインで別に管理します。

注意

クエリ パラメーターの名前を変更したり、クエリ パラメーターを削除した場合、そのクエリ パラメーターに対応するレポート パラメーターは、自動的には変更または削除されません。レポート パラメーターの削除やレポート パラメーターの順序変更は、レポート データ ペイン ツール バーのボタンを使用して行うことはできません。詳細については、「レポートへのパラメータの追加」を参照してください。

関連項目

タスク

データセットを作成する方法 (Reporting Services)

概念

レポート データセットの作成

Reporting Services のクエリ デザイン ツール

データ ソースへの接続 (Reporting Services)

パラメーターを使用したレポート データの制御