共用方式為


查找函數(報表產生器及 SQL Server Reporting Services)

從包含名稱/值組的數據集傳回指定名稱的第一個比對值。

備註

您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計

語法

  
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

數據
常數,指定報表中的數據集名稱。 例如,「產品」。

返回

如果有相符的項目則傳回 Variant,如果沒有則傳回 Nothing

備註

使用 Lookup 從指定數據集擷取名稱/值組的值,其中具有1對1關聯性。 例如,對於數據表中的標識符字段,您可以使用 Lookup ,從未系結至數據區域的數據集擷取對應的 Name 字段。

Lookup 執行下列動作:

  • 評估目前範圍中的來源表達式。

  • 根據指定數據集的定序,在套用篩選後,評估指定數據集中每一列的目的表達式。

  • 在來源表達式和目標表達式第一次符合時,評估數據集中該行的結果表達式。

  • 傳回結果表達式值。

若要查詢一個名稱或索引鍵欄位中的多個值,其中具有 1 對多的關聯性,請使用LookupSet 函式(報表產生器及 SSRS)。 若要呼叫Lookup一組值,請使用 Multilookup 函式(報表產生器及 SSRS)。

適用以下限制:

  • Lookup 會在套用所有篩選表達式之後進行評估。

  • 僅支援一個層級的查閱。 來源、目的地或結果表達式不能包含查閱函式的參考。

  • 來源和目的地表達式必須評估為相同的數據類型。 傳回型別與評估結果表達式的數據類型相同。

  • 來源、目的地和結果表達式不能包含報表或群組變數的參考。

  • Lookup 無法做為下列報表項目的表示式:

    • 數據源的動態連接字串。

    • 數據集中的計算欄位。

    • 查詢數據集中的參數。

    • 數據集中的篩選。

    • 報表參數。

    • Report.Language 屬性。

如需詳細資訊,請參閱聚合函數參考(報表產生器及 SSRS)總計、匯總和內建集合的運算式範圍(報表產生器及 SSRS)。

範例

在下列範例中,假設數據表系結至包含 ProductID 產品標識符欄位的數據集。 名為 「Product」 的個別數據集包含對應的產品識別碼標識碼和產品名稱名稱名稱。

在下列表達式中,Lookup 比較 ProductID 的值與名為 “Product” 之數據集的每個資料列中的 ID 值,當找到匹配時,傳回該資料列的 Name 欄位值。

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

另請參閱

報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
運算式中的資料類型 (報表產生器及 SSRS)
總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)