式におけるパラメータの使用

新規 : 2006 年 7 月 17 日

ここでは、レポート パラメータへの参照を式に含める場合に利用できる構文の例について説明します。レポート パラメータは、式から参照できるグローバル コレクションの 1 つです。詳細については、「式でのグローバル コレクションの使用 (Reporting Services)」を参照してください。

パラメータは、レポートを処理するときに評価されます。式は、(Fx) オプションまたは <Expression> オプションを利用できる、レポート アイテム プロパティやテキスト ボックス プロパティ内の任意の場所で使用できます。式を使用できる場所の例については、「Reporting Services の式の例」を参照してください。

レポート パラメータでは、Boolean、DateTime、Integer、Float、または String のいずれかのデータ型を使用できます。レポート パラメータは、単一の値または複数の値を持つことができます。Boolean 型を除くすべてのデータ型に対して、複数値プロパティを設定できます。複数値パラメータは、0 から始まる値の配列です。レポート プロパティの設定の詳細については、「レポート パラメータの作成とレポート パラメータ プロパティの設定」を参照してください。

単一値パラメータ

次の表は、式における単一値パラメータの使用例を示しています。

式での単一値パラメータの使用

次の表は、任意のデータ型の単一値パラメータに対する参照を式に含めるときに使用する構文の例を示しています。

説明

=Parameters!<ParameterName>.IsMultiValue

False が返されます。

パラメータが複数値であるかどうかを確認します。True の場合、パラメータは複数値でオブジェクトのコレクションです。False の場合、パラメータは単一値で 1 つのオブジェクトです。

=Parameters!<ParameterName>.Count

整数値 1 が返されます。単一値パラメータの場合、カウントは常に 1 です。

=Parameters!<ParameterName>.Label

パラメータ ラベルが返されます。パラメータ ラベルは通常、使用可能な値のドロップダウン リストの表示名として使用されます。

=Parameters!<ParameterName>.Value

パラメータの値が返されます。Label プロパティが設定されていない場合は、この値が使用可能な値のドロップダウン リストに表示されます。

=CStr(Parameters! <ParameterName>.Value)

パラメータの値が文字列として返されます。

=Fields(Parameters!<ParameterName>.Value).Value

パラメータと同じ名前のフィールドの値が返されます。

単一値パラメータを使用したフィルタの設定

フィルタは、データセット、データ領域、またはデータ グループのプロパティ ページにある [フィルタ] タブを使用して設定します。フィルタ式は、[フィルタ] タブのフィルタ グリッドに値を入力して定義します。次の表は、フィルタ グリッドを表しています。次の例では、Fields!EmployeeID.Value の値と Parameters!EmployeeID.Value の値が同じデータ型であることを前提としています。

(フィルタ) 式 演算子 ルールの適用条件

= Fields!<FieldName>.Value

値と値を比較する演算子。次のような演算子があります。

=

>=

<

=Parameters!<ParameterName>.Value

複数の式を入力した場合は、あらかじめ設定された値が有効になります。

複数値パラメータ

次の表は、式における複数値パラメータの使用例を示しています。

式での複数値パラメータの使用

式は、(Fx) オプションまたは <Expression> オプションを利用できる、レポート アイテム プロパティやテキスト ボックス プロパティ内の任意の場所で使用できます。

説明

=Parameters!<MultivalueParameterName>.IsMultiValue

True または False が返されます。

パラメータが複数値であるかどうかを確認します。True の場合、パラメータは複数値でオブジェクトのコレクションです。False の場合、パラメータは単一値で 1 つのオブジェクトです。

=Parameters!<MultivalueParameterName>.Count

整数値が返されます。

値の個数を表します。単一値パラメータの場合、カウントは常に 1 です。複数値パラメータの場合、カウントは 0 以上です。

=Parameters!<MultivalueParameterName>.Value(0)

複数値パラメータの最初の値が返されます。

=Parameters!<MultivalueParameterName>.Value(Parameters!<MultivalueParameterName>.Count-1)

複数値パラメータの最後の値が返されます。

=Split("Value1,Value2,Value3",",")

値の配列が返されます。

文字列値が複数指定されたパラメータに基づいて、値の配列を作成します。Split の 2 番目のパラメータでは、任意の区切り記号を使用できます。この式は、複数値パラメータの既定値を設定したり、サブレポートやドリルスルー レポートに送信する複数値パラメータを作成する場合に使用できます。

=Join(Parameters!<MultivalueParameterName>.Value,", ")

複数値パラメータの値をコンマで区切ったリストで構成される文字列が返されます。Join の 2 番目のパラメータでは、任意の区切り記号を使用できます。

複数値パラメータを使用したフィルタの設定

フィルタは、データセット、データ領域、またはデータ グループのプロパティ ページにある [フィルタ] タブを使用して設定します。次の例では、Fields!EmployeeID.Value の値と Parameters!EmployeeID.Value の値が同じデータ型であることを前提としています。複数値パラメータは、[値] 列にのみ表示されます。

演算子 ルールの適用条件

= Fields!<FieldName>.Value

包含をテストする演算子。IN のみを選択できます。

=Parameters!<MultivalueParameterName>.Value

複数の式を入力した場合は、あらかじめ設定された値が設定されます。

カスタム コードからの参照パラメータの例

レポート定義のコード ブロックまたはユーザーが指定したカスタム アセンブリのカスタム コードを経由してグローバル パラメータ コレクションを参照できます。パラメータ コレクションは読み取り専用で、パブリック反復子がありません。コレクションのステップ実行に Visual Basic の For Each 構造体を使用することはできません。レポート定義内で定義されたパラメータの名前をコード内で参照する前に、その名前を確認しておく必要があります。また複数値パラメータのすべての値は、繰り返し処理することができます。詳細については、「式でのカスタム コード参照の使用 (Reporting Services)」を参照してください。

説明 式での参照 カスタム コード定義

グローバル パラメータ コレクション全体をカスタム コードに渡します。この関数は、特定のレポート パラメータ MyParameter の値を返します。

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

個別のパラメータをカスタム コードに渡します。この例では、渡されたパラメータの値が返されます。パラメータが複数値パラメータである場合、返される文字列はすべての値が連結されたものになります。

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

参照

処理手順

レポート パラメータを追加、編集、または削除する方法 (レポート デザイナ)

関連項目

Reporting Services の式の例

概念

単一値および複数値パラメータの使用

その他の技術情報

レポートでのカスタム アセンブリの使用
チュートリアル : 基本的な表形式レポートへのパラメータの追加
チュートリアル : パラメータを使用した高度な機能

ヘルプおよび情報

SQL Server 2005 の参考資料の入手