Reporting Services でのパラメータを使用した作業

更新 : 2006 年 7 月 17 日

Reporting Services では、パラメータを使用して、レポートで使用するデータの指定、関連するレポートの接続、レポートの表示方法の変更などを行います。レポートには、クエリ パラメータとレポート パラメータの 2 種類のパラメータがあります。

  • 変数を含むデータセット クエリを定義する場合、Reporting Services によって対応するクエリ パラメータが作成されます。クエリ パラメータを使用すると、データ ソースから取得するデータを、レポートに必要なデータのみに制限できます。
  • レポート ツール バーに表示されるレポート パラメータを使用して、レポートの処理時に使用する値の選択や入力を行うことができます。レポート デザイナでは、レポート パラメータはクエリ パラメータから自動的に作成されます。レポート ビルダでは、フィルタ句でプロンプトを設定すると、レポート パラメータが作成されます。クエリ パラメータに関連付けられていないレポート パラメータを定義することもできます。Parameters グローバル コレクションを使用して、式にレポート パラメータへの参照を含めることができます。レポート定義全体で式を使用して内容や表示方法を制御できるので、レポート パラメータを使用すると、レポートを効果的にカスタマイズできます。

パラメータの主な特徴と Reporting Services での使用方法の概要を次に示します。

  • レポート パラメータはレポート サーバーで処理されますが、クエリ パラメータはデータ ソース サーバーで処理されます。
  • クエリ パラメータの各値は、既定により、対応するレポート パラメータの値にマップされます。このため、レポート パラメータ用に選択した値をクエリに渡して、データ ソースから取得されるデータを制限できます。
  • 表示方法の変更、データのフィルタ選択、並べ替えやグループ化の制御、テキスト ボックスのプロパティの変更を行うには、クエリ パラメータに関連付けられていないレポート パラメータを使用します。この操作を行うには、パラメータを含む式を記述します。式は、レポートの処理時に、現在のパラメータ設定を使用して評価されます。このように、レポート パラメータを使用すると、式を指定してレポートのさまざまな特徴を制御できます。
  • レポート パラメータについて、単一値または複数値のどちらか、実行時に表示されるかどうか、静的またはクエリベースのどちらの有効な値の一覧を使用するか、既定値を使用するかどうか、NULL 値または空白の値を受け入れるかどうかなどを指定するプロパティを設定できます。複数値のパラメータには、複数の値を選択できます。
  • レポート内の他のパラメータの有効な値の一覧を定義するカスケード型パラメータを作成できます (特定の製品カテゴリを選択すると製品の一覧が決定されるなど)。
  • パラメータを使用して、親レポートをドリルスルー レポートや埋め込まれたサブレポートにリンクできます。
  • いったんレポートがパブリッシュされると、パブリッシュされたレポートのパラメータ プロパティを、元のパラメータ定義とは別に管理できるようになります。デザイン時のレポート パラメータの構成によっては、パブリッシュされたレポートの多くのパラメータ プロパティをレポート サーバー管理者が変更できます。詳細については、「パブリッシュ済みレポートのパラメータ プロパティの設定」を参照してください。
  • パラメータをサブスクリプション内で設定できます。レポートをサブスクライブする各ユーザーは、サブスクリプションと共に格納され、かつサブスクリプションによって使用されるパラメータ値を指定することができます。詳細については、「サブスクリプションでのパラメータの設定」を参照してください。
  • パラメータは、URL アクセスによって設定できます。詳細については、「URL アクセス パラメータの使用」を参照してください。
ms155917.security(ja-jp,SQL.90).gifセキュリティ メモ :
String 型のパラメータが含まれるレポートでは、使用可能な値の一覧 (有効な値の一覧とも呼ばれる) を必ず使用してください。また、レポートを実行するすべてのユーザーに対して、レポート表示に必要な権限のみを与えてください。String 型のパラメータを定義する場合は、任意の値が許容されるテキスト ボックスが表示されます。使用可能な値の一覧を使用すると、入力できる値が制限されます。クエリ パラメータにレポート パラメータが関連付けられている場合に、使用可能な値の一覧を使用しなければ、レポート ユーザーはテキスト ボックスに SQL 構文を入力できるので、レポートとサーバーが SQL インジェクション攻撃を受ける危険性が生じます。さらに、ユーザーが新しい SQL ステートメントを実行するための十分な権限を持っている場合は、サーバーで予想外の結果が生じる可能性もあります。 クエリ パラメータと関連付けられていないレポート パラメータがあり、このパラメータ値がレポートに含まれていると、レポート ユーザーが式の構文または URL をパラメータ値に入力して、このレポートを Excel または HTML に変換することも可能になります。別のユーザーがこのレポートを表示して、表示されたパラメータ コンテンツをクリックすると、悪意のあるスクリプトまたはリンクが意図せず実行されてしまう可能性があります。 悪意のあるスクリプトを誤って実行するリスクを軽減するためには、信頼されたソースのレポートしか開かないようにする必要があります。レポートの保護の詳細については、「レポートとリソースの保護」を参照してください。

このセクションの内容

参照

処理手順

フィルタを追加する方法 (レポート デザイナ)
クエリ パラメータをレポート パラメータに関連付ける方法 (レポート デザイナ)
レポート パラメータを追加、編集、または削除する方法 (レポート デザイナ)

概念

レポート レイアウトでのデータの操作
対話機能の追加
レポートでのデータのフィルタ処理
パブリッシュ済みレポートのパラメータ プロパティの設定

その他の技術情報

チュートリアル : 基本的な表形式レポートへのパラメータの追加
チュートリアル : パラメータを使用した高度な機能
[レポート パラメータ] (レポート デザイナ)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手