Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Microsoft Report Builder (SSRS)
Power BI Report Builder
Report Designer in SQL Server Data Tools
Retourneert de set van eerste overeenkomende waarden voor de opgegeven set namen vanuit een gegevensset die naam-waarde koppelingen in een gepagineerd rapport bevat.
Opmerking
U kunt gepagineerde rapportdefinitiebestanden (.rdl) maken en wijzigen in Microsoft Report Builder, Power BI Report Builder en in Report Designer in SQL Server Data Tools.
Syntaxis
Multilookup(source_expression, destination_expression, result_expression, dataset)
Parameterwaarden
source_expression
(VariantArray) Een expressie die wordt geëvalueerd in het huidige bereik en waarmee de set namen of sleutels wordt opgegeven die moeten worden opgezoekd. Bijvoorbeeld voor een parameter met meerdere waarden, =Parameters!IDs.value.
destination_expression
(Variant) Een expressie die wordt geëvalueerd voor elke rij in een gegevensset en die de naam of sleutel aangeeft waarop moet worden vergeleken. Bijvoorbeeld: =Fields!ID.Value.
result_expression
(Variant) Een expressie die wordt geëvalueerd voor de rij in de gegevensset waar source_expression destination_expression = en die de waarde specificeert die moet worden opgehaald. Bijvoorbeeld: =Fields!Name.Value.
dataset
Een constante die de naam van een gegevensset in het rapport aangeeft. Bijvoorbeeld 'Kleuren'.
Return
Retourneert een VariantArray of Niets als er geen overeenkomst is.
Opmerkingen
Gebruik Multilookup om een set waarden op te halen uit een gegevensset voor naam-waardeparen waarbij elk paar een 1-op-1-relatie heeft. MultiLookup is het equivalent van het aanroepen van opzoeken voor een set namen of sleutels. Voor een parameter met meerdere waarden die is gebaseerd op primaire-sleutel-id's, kunt u Multilookup gebruiken in een expressie in een tekstvak in een tabel om gekoppelde waarden op te halen uit een gegevensset die niet is gebonden aan de parameter of aan de tabel.
Multilookup doet het volgende:
Evalueert de bronexpressie in het huidige bereik en genereert een matrix met variantobjecten.
Voor elk object in de matrix roept u Lookup Function (Report Builder en SSRS) aan en voegt u het resultaat toe aan de retourmatrix.
Geeft de reeks resultaten terug.
Als u één waarde wilt ophalen uit een gegevensset met naam-waardeparen voor een opgegeven naam waarbij er een 1-op-1-relatie is, gebruikt u zoekfunctie (Report Builder en SSRS). Als u meerdere waarden wilt ophalen uit een gegevensset met naam-waardeparen voor een naam waarbij er een 1-op-veel-relatie is, gebruikt u de functie LookupSet (Report Builder en SSRS).
De volgende beperkingen zijn van toepassing:
Multilookup wordt geëvalueerd nadat alle filterexpressies zijn toegepast
Er wordt slechts één opzoekniveau ondersteund. Een bron-, doel- of resultaatexpressie kan geen verwijzing naar een opzoekfunctie bevatten.
Bron- en doelexpressies moeten hetzelfde gegevenstype evalueren.
Bron-, doel- en resultaatexpressies kunnen geen verwijzingen naar rapport- of groepsvariabelen bevatten.
Multilookup kan niet worden gebruikt als een expressie voor de volgende rapportitems:
Dynamische verbindingsreeksen voor een gegevensbron.
Berekende velden in een gegevensset.
Queryparameters in een gegevensset.
Filters in een gegevensset.
Rapportparameters.
De eigenschap Report.Language.
Zie Aggregate Functions Reference (Report Builder en SSRS) enexpressiebereik voor totalen, aggregaties en ingebouwde verzamelingen (Report Builder en SSRS) voor meer informatie.
Voorbeelden
Eén. De functie MultiLookup gebruiken
Stel dat een gegevensset met de naam Categorie het veld CategoryList bevat. Dit is een veld dat een door komma's gescheiden lijst met categorie-id's bevat, bijvoorbeeld '2, 4, 2, 1'.
De gegevensset CategoryNames bevat de categorie-id en categorienaam, zoals wordt weergegeven in de volgende tabel.
| ID-kaart | Naam |
|---|---|
| 1 | Accessoires |
| 2 | Fietsen |
| 3 | Kleding |
| 4 | Components |
Gebruik Multilookup om de namen op te zoeken die overeenkomen met de lijst met id's. U moet de lijst eerst splitsen in een tekenreeksmatrix, Multilookup aanroepen om de categorienamen op te halen en de resultaten samenvoegen in een tekenreeks.
In de volgende uitdrukking, wanneer deze in een tekstvak in een gegevensgebied wordt geplaatst dat is gekoppeld aan de gegevensset "Categorie", wordt “Fietsen, Onderdelen, Fietsen, Accessoires” weergegeven.
=Join(MultiLookup(Split(Fields!CategoryList.Value,","),
Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),
", ")
B. MultiLookup gebruiken met parameter voor meerdere waarden
Stel dat een gegevensset ProductColors een kleur-id-veld ColorID en een kleurwaardeveld Kleur bevat, zoals wordt weergegeven in de volgende tabel.
| KleurID | Kleur |
|---|---|
| 1 | Red |
| 2 | Blue |
| 3 | Green |
Stel dat de parameter MyColors met meerdere waarden niet is gebonden aan een gegevensset voor de beschikbare waarden. De standaardwaarden voor de parameter zijn ingesteld op 2 en 3. De volgende expressie, wanneer deze in een tekstvak in een tabel wordt geplaatst, voegt de meerdere geselecteerde waarden voor de parameter samen in een door komma's gescheiden lijst en geeft 'Blauw, groen' weer.
=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")