共用方式為


Multilookup 函數 (報表產生器和 SSRS)

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

備註

您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 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 執行下列動作:

  • 評估目前範疇中的來源表達式,並生成一個變體對象的陣列。

  • 針對陣列中的每個物件,呼叫 Lookup 函式(報表產生器及 SSRS) 並將結果加入返回陣列。

  • 傳回結果集。

若要從具有 1 對 1 關聯性之指定名稱之名稱組的數據集擷取單一值,請使用查閱函式(報表產生器及 SSRS)。 若要從資料集中的名稱-值對中擷取具有 1 對多關係的名稱的多個值,請使用 LookupSet 函式(報表產生器及 SSRS)。

適用以下限制:

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

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

  • 來源和目的地表達式必須評估為相同的數據類型。

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

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

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

    • 數據集中的計算欄位。

    • 查詢數據集中的參數。

    • 數據集中的篩選。

    • 報表參數。

    • Report.Language 屬性。

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

範例

假設名為 「Category」 的數據集包含 CategoryList 欄位,這是包含類別識別碼逗號分隔清單的欄位,例如 「2, 4, 2, 1」。

數據集 CategoryNames 包含類別識別碼和類別名稱,如下表所示。

身份證 名稱
1 配件
2 自行車
3 服裝
4 元件

若要查閱對應至識別碼清單的名稱,請使用 Multilookup。 您必須先將清單分割成字串數位、呼叫 Multilookup 以擷取類別名稱,然後將結果串連成字串。

下列表達式會在系結至類別數據集的數據區文本框中,顯示「自行車、元件、自行車、配件」:

=Join(MultiLookup(Split(Fields!CategoryList.Value,","),  
   Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),  
   ", ")  

範例

假設數據集 ProductColors 包含色彩標識符欄位 ColorID 和色彩值欄位 Color,如下表所示。

顏色識別碼 顏色
1 紅色
2 藍色
3 綠色

假設多重值參數 MyColors 未係結至數據集以取得其可用值。 參數的預設值會設定為 2 和 3。 下列表達式放在數據表中的文字框時,會將參數的多個選取值串連成逗號分隔清單,並顯示 “Blue, Green”。

=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")  

另請參閱

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