レポート ビルダー関数 - Lookup 関数

名前と値のペアを含むデータセットから、指定された名前に最初に一致した値を返します。

注意

ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。

構文

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

パラメーター

source_expression
(Variant) 現在のスコープ内で評価される式。参照する名前またはキーを指定します。 たとえば、「 =Fields!ProdID.Value 」のように入力します。

destination_expression
(Variant) データセット内の各行に対して評価される式。照合する名前またはキーを指定します。 たとえば、「 =Fields!ProductID.Value 」のように入力します。

result_expression
(Variant) source_expression = destination_expressionであるデータセットの行で評価され、取得する値を指定する式。 たとえば、「 =Fields!ProductName.Value 」のように入力します。

データセット (dataset)
レポート内のデータセットの名前を指定する定数。 たとえば、"Products" などです。

戻り値

Variantを返します。一致する結果がなかった場合は、 Nothing を返します。

解説

指定したデータセットで、名前と値のペアについて 1 対 1 のリレーションシップが存在する場合、 Lookup を使用して値を取得します。 たとえば、テーブル内の ID フィールドに対して Lookup を使用して、データ領域にバインドされていないデータセットから対応する Name フィールドを取得することができます。

Lookup を実行すると、次の処理が行われます。

  • ソースの式を現在のスコープ内で評価します。

  • フィルターを適用した後で、指定されたデータセットの照合順序に基づき、指定されたデータセットの各行に対して変換先の式を評価します。

  • 変換元の式と変換先の式が最初に一致したときに、データセット内のその行に対して結果式を評価します。

  • 結果式の値を返します。

1 対多のリレーションシップがある場合、1 つの名前フィールドまたはキー フィールドに対応する複数の値を取得するには、LookupSet 関数 (レポート ビルダーおよび SSRS) を使用します。 一連の値に対して Lookup を呼び出すには、Multilookup 関数 (レポート ビルダーおよび SSRS) を使用します。

次の制限事項が適用されます。

  • Lookup は、すべてのフィルター式が適用された後で評価されます。

  • 1 レベルの参照のみがサポートされます。 変換元、変換先、または結果の式に、Lookup 関数への参照を含めることはできません。

  • 変換元および変換先の式は、同じデータ型として評価される必要があります。 戻り値の型は、評価された結果式のデータ型と同じです。

  • 変換元、変換先、結果の式には、レポート変数またはグループ変数への参照を含めることができません。

  • Lookup は、次のレポート アイテムを求める式として使用することはできません。

    • データ ソースの動的な接続文字列。

    • データセット内の計算フィールド。

    • データセット内のクエリ パラメーター。

    • データセット内のフィルター。

    • レポート パラメーター。

    • Report.Language プロパティ。

詳細については、「集計関数リファレンス (レポート ビルダーおよび SSRS)」および「合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)」を参照してください。

次の例では、製品の識別子である ProductID のフィールドを含むデータセットにテーブルがバインドされているとします。 別のデータセットである "Product" には、対応する製品識別子 ID と、製品名を表す Name が含まれています。

次の式では、 Lookup を使用して "Product" データセットの各行に含まれる ID と ProductID の値を比較し、一致が見つかった場合には、その行の Name フィールドの値を返します。

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")  

参照

レポートでの式の使用 (レポート ビルダーおよび SSRS)
式の例 (レポート ビルダーおよび SSRS)
式で使用されるデータ型 (レポート ビルダーおよび SSRS)
合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)