Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Microsoft Report Builder (SSRS)
Power BI Report Builder
Projektant raportów w narzędziu SQL Server Data Tools
Zwraca zestaw wartości pierwszego dopasowania dla określonego zestawu nazw z zestawu danych zawierającego pary nazwa/wartość w raporcie podzielonym na strony.
Uwaga / Notatka
Pliki definicji raportu podzielonego na strony (rdl) można tworzyć i modyfikować w programie Microsoft Report Builder, programie Power BI Report Builder i w projektancie raportów w narzędziach SQL Server Data Tools.
Składnia
Multilookup(source_expression, destination_expression, result_expression, dataset)
Parametry
source_expression
(VariantArray) Wyrażenie, które jest ewaluowane w bieżącym zakresie i określa zestaw nazw lub kluczy do wyszukania. Na przykład dla parametru wielowartościowego . =Parameters!IDs.value
destination_expression
(Wariant) Wyrażenie, które jest oceniane dla każdego wiersza w zestawie danych i które określa nazwę lub klucz do dopasowania. Na przykład =Fields!ID.Value.
result_expression
(Wariant) Wyrażenie, które jest obliczane dla wiersza w zestawie danych, w którym source_expression = destination_expression, i które określa wartość do pobrania. Na przykład =Fields!Name.Value.
dataset
Stała określająca nazwę zestawu danych w raporcie. Na przykład "Kolory".
Zwrot
Zwraca argument VariantArray lub Nic , jeśli nie ma dopasowania.
Uwagi
Użyj funkcji Multilookup, aby pobrać zestaw wartości z danych dla pary nazwa-wartość, gdzie każda para ma relację 1 do 1. Funkcja MultiLookup jest odpowiednikiem wywoływania funkcji Lookup dla zestawu nazw lub kluczy. Na przykład w przypadku parametru wielowartościowego opartego na identyfikatorach klucza podstawowego można użyć funkcji Multilookup w wyrażeniu w polu tekstowym w tabeli, aby pobrać skojarzone wartości z zestawu danych, który nie jest powiązany z parametrem lub z tabelą.
Funkcja Multilookup wykonuje następujące czynności:
Oblicza wyrażenie źródłowe w bieżącym zakresie i generuje tablicę obiektów wariantowych.
Dla każdego obiektu w tablicy wywołuje funkcję Lookup (Report Builder i SSRS) i dodaje wynik do tablicy zwracanej.
Zwraca zestaw wyników.
Aby pobrać pojedynczą wartość z zestawu danych z parami name-value dla określonej nazwy, w której istnieje relacja od 1 do 1, użyj funkcji Lookup (Report Builder i SSRS). Aby pobrać wiele wartości z zestawu danych z parami name-value dla nazwy, w której istnieje relacja od 1 do wielu, użyj funkcji LookupSet (Report Builder i SSRS).
Obowiązują następujące ograniczenia:
Funkcja Multilookup jest obliczana po zastosowaniu wszystkich wyrażeń filtru
Obsługiwany jest tylko jeden poziom wyszukiwania. Wyrażenie źródłowe, docelowe lub wynikowe nie może zawierać odwołania do funkcji wyszukiwania.
Wyrażenia źródłowe i docelowe muszą być obliczane dla tego samego typu danych.
Wyrażenia źródłowe, docelowe i wynikowe nie mogą zawierać odwołań do zmiennych raportu lub grupy.
Funkcja Multilookup nie może być używana jako wyrażenie dla następujących elementów raportu:
Parametry połączenia dynamicznego dla źródła danych.
Pola obliczeniowe w zestawie danych.
Parametry zapytania w zestawie danych.
Filtry w zestawie danych.
Parametry raportu.
Właściwość Report.Language.
Aby uzyskać więcej informacji, zapoznaj się z Odwołanie do funkcji agregujących (Report Builder i SSRS) i Zakres wyrażeń dla sum, agregacji i wbudowanych kolekcji (Report Builder i SSRS).
Przykłady
A. Korzystanie z funkcji MultiLookup
Załóżmy, że zestaw danych o nazwie "Kategoria" zawiera pole CategoryList, które jest polem zawierającym rozdzielaną przecinkami listę identyfikatorów kategorii, na przykład "2, 4, 2, 1".
Zestaw danych CategoryNames zawiera identyfikator kategorii i nazwę kategorii, jak pokazano w poniższej tabeli.
| identyfikator | Name |
|---|---|
| 1 | Akcesoria |
| 2 | Rowery |
| 3 | Odzież |
| 4 | Components |
Aby wyszukać nazwy odpowiadające liście identyfikatorów, użyj funkcji Multilookup. Najpierw należy podzielić listę na tablicę ciągów, wywołać funkcję Multilookup , aby pobrać nazwy kategorii i połączyć wyniki w ciąg.
Następujące wyrażenie po umieszczeniu w polu tekstowym w regionie danych powiązanym z zestawem danych Kategoria wyświetla "Rowery, Komponenty, Rowery, Akcesoria":
=Join(MultiLookup(Split(Fields!CategoryList.Value,","),
Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),
", ")
B. Używanie funkcji MultiLookup z parametrem multivalue
Załóżmy, że zestaw danych ProductColors zawiera pole identyfikatora koloru ColorID i pole wartości koloru, jak pokazano w poniższej tabeli.
| Identyfikator koloru | Kolor |
|---|---|
| 1 | Red |
| 2 | Blue |
| 3 | Green |
Załóżmy, że parametr Wielowartościowy MyColors nie jest powiązany z zestawem danych dla dostępnych wartości. Wartości domyślne parametru są ustawione na 2 i 3. Poniższe wyrażenie po umieszczeniu w polu tekstowym w tabeli łączy wiele wybranych wartości parametru z listą rozdzielaną przecinkami i wyświetla tekst "Blue, Green".
=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")