名前と値のペアを含むデータセットから、指定した名前のセットの最初に一致する値のセットを返します。
注
レポート定義 (.rdl) は、レポート ビルダーと SQL Server Data Tools のレポート デザイナーで作成および変更できます。 作成環境ごとに、レポートと関連アイテムを作成、開く、保存するさまざまな方法が用意されています。 詳細については、Web 上の microsoft.com にある レポート デザイナーおよびレポート ビルダー (SSRS) でのレポートのデザイン を参照してください。
構文
Multilookup(source_expression, destination_expression, result_expression, dataset)
パラメーター
source_expression
(VariantArray) 現在のスコープで評価され、検索する名前またはキーのセットを指定する式。 たとえば、複数値パラメーターの場合、 =Parameters!IDs.valueのように指定します。
destination_expression
(Variant) データセット内の各行に対して評価され、一致する名前またはキーを指定する式。 たとえば、=Fields!ID.Value のようにします。
result_expression
(Variant) データセット内の行について評価される式で、source_expression = とdestination_expressionがある場合に取得する値を指定します。 たとえば、=Fields!Name.Value のようにします。
データセット
レポート内のデータセットの名前を指定する定数。 たとえば、"Colors" と指定します。
帰る
VariantArrayを返します。一致しない場合はNothingを返します。
注釈
Multilookupを使用して、各ペアが 1 対 1 のリレーションシップを持つ名前と値のペアのデータセットから値のセットを取得します。
MultiLookup は、一連の名前またはキーの Lookup を呼び出すことと同等です。 たとえば、主キー識別子に基づく複数値パラメーターの場合、テーブルのテキスト ボックス内の式で Multilookup を使用して、パラメーターまたはテーブルにバインドされていないデータセットから関連する値を取得できます。
Multilookup は次の処理を行います。
現在のスコープ内でソース式が評価され、variant オブジェクトの配列が生成されます。
配列内の各オブジェクトに対して、Lookup 関数 (レポート ビルダーおよび SSRS) を呼び出して、返される配列に結果を追加します。
結果セットが返されます。
指定した名前に対応する、名前と値のペアを含むデータセットに 1 対 1 のリレーションシップが存在する場合、このデータセットから 1 つの値を取得するには、Lookup 関数 (レポート ビルダーおよび SSRS) を使用します。 ある名前に対応する、名前と値のペアを含むデータセットに 1 対多のリレーションシップが存在する場合、このデータセットから複数の値を取得するには、LookupSet 関数 (レポート ビルダーおよび SSRS) を使用します。
次の制限が適用されます。
Multilookupは、すべてのフィルター式が適用された後に評価されます1 レベルの参照のみがサポートされます。 変換元、変換先、または結果の式に、Lookup 関数への参照を含めることはできません。
変換元および変換先の式は、同じデータ型として評価される必要があります。
変換元、変換先、結果の式には、レポート変数またはグループ変数への参照を含めることができません。
Multilookupは、次のレポート アイテムの式として使用できません。データ ソースの動的な接続文字列。
データセット内の計算フィールド。
データセット内のクエリ パラメーター。
データセット内のフィルター。
レポート パラメーター。
Report.Language プロパティ。
詳細については、「集計関数リファレンス (レポート ビルダーおよび SSRS)」および「合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)」を参照してください。
例
"Category" というデータセットに CategoryList フィールドが含まれているとします。これは、カテゴリ識別子のコンマ区切りリストを含むフィールドです (例: "2,4, 2, 1")。
CategoryNames データセットには、次の表に示すように、カテゴリ識別子とカテゴリ名が格納されています。
| 身分証明書 | 名前 |
|---|---|
| 1 | アクセサリ |
| 2 | バイク |
| 3 | 衣類 |
| 4 | コンポーネント |
識別子の一覧に対応する名前を検索するには、 Multilookupを使用します。 最初にリストを文字列配列に分割し、 Multilookup を呼び出してカテゴリ名を取得し、結果を文字列に連結する必要があります。
Category データセットにバインドされているデータ領域内のテキスト ボックスに次の式を置いた場合、"Bikes, Components, Bikes, Accessories" と表示されます。
=Join(MultiLookup(Split(Fields!CategoryList.Value,","),
Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),
", ")
例
ProductColors データセットに、次の表に示すように色の識別子のフィールドである ColorID と、色の値のフィールドである Color が含まれているとします。
| ColorID | 色 |
|---|---|
| 1 | 赤い |
| 2 | 青い |
| 3 | 緑色 |
複数値パラメーターである MyColors が、使用可能な値について、データセットにバインドされていないとします。 このパラメーターの既定値は、2 および 3 に設定されています。 次の式をテーブル内のテキスト ボックスに置いた場合、パラメーターの複数選択された値がコンマ区切りの一覧として連結され、"Blue, Green" と表示されます。
=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")
こちらもご覧ください
レポートでの式の使用 (レポート ビルダーおよび SSRS)
式の例 (レポート ビルダーおよび SSRS)
式で使用されるデータ型 (レポート ビルダーおよび SSRS)
合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)