Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Microsoft Report Builder (SSRS)
Power BI Report Builder
Návrhář sestav v nástrojích SQL Server Data Tools
Vrátí sadu hodnot odpovídajících první shodě pro zadanou sadu jmen z datové sady, která ve stránkované sestavě obsahuje páry název/hodnota.
Poznámka:
Soubory definice stránkované sestavy (.rdl) můžete vytvářet a upravovat v Microsoft Report Builderu, Tvůrci sestav Power BI a v Návrháři sestav v nástrojích SQL Server Data Tools.
Syntaxe
Multilookup(source_expression, destination_expression, result_expression, dataset)
Parametry
source_expression
(VariantArray) Výraz, který je vyhodnocen v aktuálním oboru a určuje množinu názvů nebo klíčů pro vyhledání. Například pro parametr =Parameters!IDs.values více hodnotami .
destination_expression
(Varianta) Výraz, který se vyhodnocuje pro každý řádek v datové sadě a určuje název nebo klíč, který se má porovnat. Například: =Fields!ID.Value.
result_expression
(Varianta) Výraz, který se vyhodnotí pro řádek v datové sadě, kde source_expression destination_expression = , a určuje hodnotu, která se má načíst. Například: =Fields!Name.Value.
dataset
Konstanta, která určuje název datové sady v sestavě. Například "Barvy".
Vratka
Vrátí VariantArray nebo Nothing, pokud neexistuje žádná shoda.
Poznámky
Pomocí funkce Multilookup načtěte sadu hodnot z datové sady pro páry název-hodnota, ve kterých má každý pár relaci 1:1. Funkce MultiLookup je ekvivalentem volání funkce Lookup pro sadu názvů nebo klíčů. Například u parametru s více hodnotami, který je založen na identifikátorech primárního klíče, můžete použít funkci Multilookup ve výrazu v textovém poli v tabulce k načtení přidružených hodnot z datové sady, která není svázaná s parametrem nebo tabulkou.
Multilookup provede následující:
Vyhodnotí zdrojový výraz v aktuálním oboru a vygeneruje pole variantních objektů.
Pro každý objekt v matici volá vyhledávací funkci (Tvůrce sestav a SSRS) a přidá výsledek do návratového pole.
Vrátí sadu výsledků.
Pokud chcete načíst jednu hodnotu z datové sady s dvojicemi název-hodnota pro zadaný název, kde existuje relace 1:1, použijte funkci Vyhledávání (Tvůrce sestav a SSRS). Pokud chcete načíst více hodnot z datové sady obsahující dvojice název-hodnota pro název, kde existuje vztah 1:N, použijte funkci LookupSet (Report Builder a SSRS).
Platí následující omezení:
Funkce Multilookup se vyhodnocuje po použití všech výrazů filtru.
Podporuje se pouze jedna úroveň vyhledávání. Zdrojový, cílový nebo výsledný výraz nesmí obsahovat odkaz na vyhledávací funkci.
Zdrojové a cílové výrazy musí být vyhodnoceny jako stejný datový typ.
Zdrojové, cílové a výsledné výrazy nemohou obsahovat odkazy na proměnné v sestavách nebo skupinách.
Multilookup nelze použít jako výraz pro následující položky sestavy:
Dynamické připojovací řetězce pro zdroj dat
Počítaná pole v datové sadě
Parametry dotazu v datové sadě
Filtry v datové sadě
Parametry sestavy
Vlastnost Report.Language.
Další informace najdete v tématu Referenční informace o agregačních funkcích (Tvůrce sestav a SSRS) a rozsah výrazů pro součty, agregace a předdefinované kolekce (Tvůrce sestav a SSRS).
Examples
A. Použití funkce MultiLookup
Předpokládejme, že datová sada s názvem "Category" obsahuje pole CategoryList, což je pole, které obsahuje seznam identifikátorů kategorií oddělených čárkami, například "2, 4, 2, 1".
Datová sada CategoryNames obsahuje identifikátor kategorie a název kategorie, jak je znázorněno v následující tabulce.
| ID | Název |
|---|---|
| 1 | Příslušenství |
| 2 | Kola |
| 3 | Oděv |
| 4 | Components |
Pokud chcete vyhledat názvy, které odpovídají seznamu identifikátorů, použijte funkci Multilookup. Nejprve je nutné seznam rozdělit na pole řetězců, zavolat Multilookup, aby se načetly názvy kategorií, a zřetězit výsledky do řetězce.
Následující výraz při umístění do textového pole v oblasti dat vázané na datovou sadu Category zobrazí "Bikes, Components, Bikes, Accessories".
=Join(MultiLookup(Split(Fields!CategoryList.Value,","),
Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),
", ")
B. Použití funkce MultiLookup s parametrem s více hodnotami
Předpokládejme, že sada ProductColors obsahuje pole ColorID s identifikátorem barvy a pole hodnoty barvy, jak je znázorněno v následující tabulce.
| ColorID | Barva |
|---|---|
| 1 | Red |
| 2 | Blue |
| 3 | Green |
Předpokládejme, že parametr Multivalue MyColors není vázán na datovou sadu pro její dostupné hodnoty. Výchozí hodnoty parametru jsou nastaveny na 2 a 3. Následující výraz při umístění do textového pole v tabulce zřetězí více vybraných hodnot parametru do seznamu odděleného čárkami a zobrazí "Modrá, zelená".
=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")