Funkcja Multilookup (program Report Builder 3.0 i usługi SSRS)
Zwraca zestaw wartości pierwszego dopasowania dla określonych nazw zestawów danych, zawierający pary nazwa/wartość.
Ostrzeżenie
Program Business Intelligence Development Studio umożliwia tworzenie i modyfikowanie definicji raportów (rdl) przy użyciu programów Report Builder 3.0 i Report Designer. Każde ze środowisk obsługuje różne sposoby tworzenia, otwierania i zapisywania raportów oraz powiązanych z nimi elementów. Aby uzyskać więcej informacji, zobacz temat Projektowanie raportów w programach Report Designer i Report Builder 3.0 (usługi SSRS) w witrynie sieci Web microsoft.com.
Składnia
Multilookup(source_expression, destination_expression, result_expression, dataset)
Parametry
source_expression
(VariantArray) Wyrażenie jest oceniane w bieżącym zakres i, który określa zestaw nazwy lub klucze do wyszukiwania up.Na przykład dla parametru wielowartościowym =Parameters!IDs.value.destination_expression
(Variant) Wyrażenie, które jest obliczane dla każdego wiersza w dataset i określa nazwę lub klucz do zgodne na.Na przykład =Fields!ID.Value.result_expression
(Variant) Wyrażenie obliczane dla wierszy w zestawie danych gdzie source_expression = destination_expression, i która 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”.
Zwracane wartości
Zwraca VariantArray, lub Nothing , jeśli nie ma żadnego dopasowania.
Uwagi
Use Multilookup to retrieve a set of values from a dataset for name-value pairs where each pair has a 1-to-1 relationship.MultiLookup is the equivalent of calling Lookup for a set of names or keys.Na przykład dla wielowartościowym parametr, który jest oparty na klucz podstawowy identyfikatorów, można użyć Multilookup w wyrażeniu w polu tekstowym w tabela, aby pobrać powiązane wartości z zestawu danych, która nie jest związana z parametrem lub tabela.
Funkcja Multilookup wykonuje następujące operacje:
Oblicza wyrażenie źródłowe w bieżącym zakresie i generuje tablicę obiektów typu Variant.
Dla każdego obiektu w tablicy wywołuje Funkcja Lookup (program Report Builder 3.0 i usługi SSRS) i dodaje wynik zwracanej tablicy.
Zwraca zestaw wyników.
Aby pobrać pojedynczą wartość dataset z pary nazwa wartość dla określonej nazwy użyć w przypadku relacji 1-do-1, Funkcja Lookup (program Report Builder 3.0 i usługi SSRS).Aby pobrać wiele wartości z pary nazwa wartość dla nazwy zestawu danych w przypadku relacji jeden-do wielu, należy użyć Funkcja LookupSet (program Report Builder 3.0 i usługi SSRS).
Obowiązują następujące ograniczenia:
Multilookup jest wyznaczana po zastosowaniu wszystkich wyrażeń filtru
Obsługiwany jest tylko jeden poziom wyszukiwania.Wyrażenie źródłowe, docelowe ani wynikowe nie może zawierać odwołania do funkcji wyszukiwania.
Wartości wyrażeń źródłowego i docelowego muszą być tego samego typu.
Źródła, obiekt docelowy i wynik wyrażenia nie może zawierać odwołania do raportu lub grupy zmiennych.
Multilookup nie można używać jako wyrażenie dla następujących elementów raportu:
Dynamiczne parametry połączenia ze źródłem danych.
Pola obliczeniowe w zestawie danych.
Parametry zapytania w zestawie danych.
Filtry w zestawie danych.
Parametry raportu.
Report.Language właściwość.
Aby uzyskać więcej informacji, zobacz Kompendium funkcji agregujących (program Report Builder 3.0 i usługi SSRS) i Opis zakresu wyrażeń dla sum, wartości zagregowanych i kolekcji wbudowanych (program Report Builder 3.0 i usługi SSRS).
Przykład
Założono zestawu danych o nazwie "Kategoria" To pole zawiera CategoryList, który jest polem zawierającym rozdzielana przecinkami lista kategorii identifers, na przykład "2, 4, 2, 1".
Zestaw danych CategoryNames zawiera identyfikator i nazwę kategorii, tak jak pokazano w poniższej tabeli.
Identyfikator |
Nazwa |
---|---|
1 |
Accessories |
2 |
Bikes |
3 |
Clothing |
4 |
Components |
Aby wyszukać nazwy, które odpowiadają liście identyfikatorów, należy użyć Multilookup.Najpierw należy podzielić listy do tablicy ciągów, wywołanie Multilookup do pobierania nazwy kategorii i złączyć wyniki w ciąg.
Następujące wyrażenie umieszczone w polu tekstowym w obszarze danych powiązanym z zestawem danych Category wyświetla wynik „Rowery, Komponenty, Rowery, Akcesoria”:
=Join(MultiLookup(Split(Fields!CategoryList.Value,","),
Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),
", ")
Założono dataset ProductColors zawiera pole Identyfikator kolor ColorID i pola wartość kolor Color, jak pokazano w poniższej tabela.
ColorID |
Color |
---|---|
1 |
Czerwony |
2 |
Niebieski |
3 |
Zielony |
Przyjmuje parametr wielowartościowym MyColors nie jest powiązany z zestawu danych dla jej dostępnych wartości.Wartości domyślne tego parametru ustawiono jako 2 i 3.Następujące wyrażenie umieszczone w polu tekstowym tabeli łączy wiele wybranych wartości parametru w listę rozdzielaną przecinkami i wyświetla wynik „Niebieski, Zielony”.
=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")
Zobacz także