Share via


レポート パラメータの作成とレポート パラメータ プロパティの設定

レポート パラメータは、レポートに対してグローバルに定義されます。レポート クエリにパラメータが含まれている場合は、レポート パラメータが自動的に作成されます。また、レポート パラメータを手動で作成することもできます。レポート パラメータを作成したら、このパラメータを識別し、レポートでの使用方法を制御するプロパティを設定する必要があります。

レポートのパブリッシュ前にパラメータを操作するには、レポート デザイナの [レポート パラメータ] ダイアログ ボックスを使用します。詳細については、「レポート パラメータを追加、変更、または削除する方法 (Reporting Services)」を参照してください。

レポートのパブリッシュ後に、レポート マネージャや SQL ServerManagement Studio を使用してレポート パラメータの多くのプロパティを変更できます。パラメータのプロパティの変更やセキュリティ上の注意点の詳細については、「パブリッシュ済みレポートのパラメータ プロパティの設定」を参照してください。

レポート パラメータ

データセット クエリの保存時には、クエリ パラメータに対応するレポート パラメータが自動的に作成されます。レポート パラメータは、手動で作成することもできます。レポート パラメータを作成した後、必要な機能を得るために、レポート パラメータのプロパティの既定値を調整する必要が生じる場合もあります。たとえば、データ型の変更、使用可能な値の一覧を提供するデータセットの作成、既定値用のデータセットの作成、または値を空白にするか NULL にするかの設定が必要な場合があります。

パラメータで複数の値を使用できるようにする場合は、データセット クエリも複数の値を使用できるように変更する必要があります。詳細については、「単独値パラメータと複数の値を持つパラメータの使用」を参照してください。また、複数の値を持つパラメータを式に含める場合は、必要な値にアクセスするための式を記述する方法を理解しておく必要があります。詳細については、「式における Parameters コレクションの参照の使用 (Reporting Services)」を参照してください。

レポート パラメータを作成または変更するには、データ ペインの [パラメータ] ノードを右クリックし、[レポート パラメータのプロパティ] ダイアログ ボックスを開きます。

注意注意

クエリ パラメータの名前を削除または変更しても、対応するレポート パラメータが自動的に削除されたり変更されたりすることはありません。クエリ パラメータの名前を変更すると、クエリを保存する際に、変更したパラメータ名に対応する新しいレポート パラメータが作成されます。新しいクエリ パラメータ名に一致するようにレポート パラメータ名を変更したり、データセット パラメータのプロパティを更新してクエリ パラメータをレポート パラメータにリンクしたりすることができます。クエリ パラメータを削除して、対応するレポート パラメータが不要な場合は、レポート パラメータを手動で削除する必要があります。

名前とデータ型

パラメータ名は必須であり、レポート内で一意である必要があります。パラメータのデータ型は、既定で String に設定されます。ドロップダウン リストから別のデータ型を選択することもできます。レポート パラメータがクエリ パラメータに基づいている場合は、レポート パラメータのデータ型がクエリ パラメータのデータ型と一致していることを確認してください。Reporting Services では、クエリ パラメータのデータ型が検出されないため、データ型を手動で調整する必要があります。

パラメータの名前は、共通言語仕様の文字および文字種規格に準拠する必要があります。詳細については、https://msdn.microsoft.com の「共通言語仕様」を参照してください。

表示名

パブリッシュされたレポートでは、通常、パラメータは、レポートの一番上にあるパラメータ エリアのテキスト ボックスとして表示されます。表示名の文字列は、パラメータ エリアのパラメータを識別するラベルを定義します。表示名には、"年" や "年を選択してください" など、パラメータの名前やユーザーへの指示を設定できます。表示名に何も指定せず、既定のパラメータ値を指定した場合は、既定値が使用され、レポートの実行時にパラメータの入力ボックスは表示されません。表示名に何も指定せず、しかも既定のパラメータ値を指定しなかった場合は、レポートを実行することはできません。ユーザーにパラメータ値の指定を要求しない場合は、[非表示] または [内部] を選択します。

非表示パラメータと内部パラメータ

パブリッシュされたレポートのパラメータの表示を制御するオプションを設定できます。[非表示][内部] の 2 つのオプションを設定することにより、異なるレベルでパラメータの表示を制御できます。パブリッシュされたレポートのパラメータ エリアでパラメータを非表示にした場合でも、レポートの URL やサブスクリプション定義ではそのパラメータの値を設定できます。パラメータを [内部] に設定した場合は、レポート定義以外ではパラメータが一切公開されなくなります。内部パラメータには既定値を設定する必要があります。[null 値を許可] チェック ボックスがオンになっている場合は、この既定値に NULL を指定できます。

単一のパラメータと複数の値を持つパラメータ

[レポート パラメータ] ダイアログ ボックスで [複数値] オプションを選択することにより、複数の値を持つパラメータを定義できます。このチェック ボックスがオフになっている場合は、1 つの値を指定するパラメータになります。[複数値] チェック ボックスをオンにすると、パブリッシュされたレポートのパラメータ ドロップダウン リストの値にチェック ボックスが追加されます。これにより、ユーザーがチェック ボックスをオンにして必要な値を選択できるようになります。たとえば、Sales Reason Comparisons サンプル レポートでは、複数の製品を選択して、それらの製品の売上データを組み合わせて表示することができます。

使用できる値を指定する際には、静的な一覧を指定することも、クエリを使用して、使用できる値をデータ ソースから取得することもできます。複数の値を持つパラメータには、少なくとも 1 つの値を含める必要があります。NULL 値は許容されません。値が複数ある場合にのみ、[すべて選択] オプションが自動的に生成されて表示されます。

注意注意

Reporting Services で Analysis Services のデータ ソースを使用している場合は、[すべて選択] オプションを選択しないでください。[すべて選択] オプションを選択すると、MDX クエリの処理でパフォーマンスが低下する可能性があります。すべての値を選択する場合は、代わりにクエリ デザイナで MDX の All メンバ リストを選択します。

空白値を許可

使用可能な値の一覧を作成する場合に <Blank> を有効値として許可するには、これを有効値の一覧に含める必要があります。

NULL を許容

[NULL を許容] は、単一値パラメータで使用できるオプションです。複数の値を持つパラメータでは、この値を選択することはできません。[NULL を許容] を選択すると、パラメータに NULL 値を含めることができます。既定では、一部のクエリ言語で NULL 値が結果セットに返されることはありません。

使用できる値

レポート パラメータを定義する際には、レポートで使用できる値を定義する必要があります。これらの値は、使用できる値または有効な値と呼ばれます。使用できる値の一覧には、値とラベルを組み合わせたセットが格納されます。レポートが実行されると、ユーザーに対してラベルが表示されます。ユーザーが任意のラベルを選択すると、このラベルに対応する値がパラメータ値として使用されます。使用できる値は、静的一覧または式としてあらかじめ定義しておくことも、データセットから取得することもできます。

  • 非クエリ型の一覧は、値とラベルの組の静的一覧です。この場合、一覧全体が、レポート パラメータの定義内に組み込まれます。各値とラベルは、静的な値を設定することも、式から生成することもできます。

  • クエリ型の一覧では、レポートの実行時にレポート サーバーによってデータセットから値とラベルのセットが取得されます。クエリ型の使用できる値一覧を指定する場合は、データセット、値に使用するフィールド、およびラベルに使用するフィールドを選択します。

クエリ型の使用できる値一覧を指定する際には、レポート内のデータ領域からも使用される複雑なデータセットを使用するのではなく、パラメータ用の単純なデータセットを作成することをお勧めします。有効な値一覧とレポート内のデータ領域の両方に同じデータセットを使用した場合、有効な値一覧に予期しない結果が生成される可能性があります。

既定値

パラメータの既定値を定義することができます。レポートのすべてのパラメータに既定値がある場合は、ユーザーがレポートを開いたり、レポート デザイナでプレビューしたりすると、レポートが直ちに処理されます。少なくとも 1 つのパラメータで既定値が使用されていない場合は、ユーザーがすべてのパラメータ値を入力してレポートを実行しないと、レポートはデータを表示しません。

非クエリ型の値もクエリ型の値も既定値として使用できます。非クエリ型の既定値には、静的な値か式を使用します。クエリ型の既定値には、データセット内のフィールドを指す式を使用します。クエリが複数の行を返す場合は、返されたデータセットの最初の行の値が使用されます。

既定値を指定しないようにすることもできます。この場合は、表示名を指定する必要があります。

注意注意

複数の値を持つパラメータを使用している場合は、クエリが複数の行を返すと、すべての行が既定値として使用されます。