Udostępnij za pośrednictwem


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:

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"),", ")