Udostępnij przez


Funkcje programu Report Builder — funkcja Lookup w raporcie podzielonym na strony (Report Builder)

Dotyczy: Microsoft Report Builder (SSRS) Power BI Report Builder Projektant raportów w narzędziu SQL Server Data Tools

Funkcja Lookup zwraca pierwszą zgodną wartość dla określonej nazwy 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

Lookup(source_expression, destination_expression, result_expression, dataset)  

Parametry

Parameter Definition
source_expression (Wariant) Wyrażenie, które oblicza w bieżącym zakresie i określa nazwę lub klucz do wyszukania. Na przykład =Fields!ProdID.Value.
destination_expression (Wariant) Wyrażenie, które oblicza dla każdego wiersza w zestawie danych i które określa nazwę lub klucz do dopasowania. Na przykład =Fields!ProductID.Value.
result_expression (Wariant) Wyrażenie, które oblicza wiersz w zestawie danych, gdzie source_expression = destination_expression i które określa wartość do pobrania. Na przykład =Fields!ProductName.Value.
dataset Stała określająca nazwę zestawu danych w raporcie. "Produkty" mogą być przykładem używanego zestawu danych.

Zwrot

Wyszukaj zwraca Variant lub zwraca Nothing, jeśli nie ma dopasowania.

Uwagi

Użyj funkcji Lookup , aby pobrać wartość z określonego zestawu danych dla pary nazwa/wartość, w której istnieje relacja od 1 do 1. Na przykład dla pola identyfikatora w tabeli można użyć odnośnika , aby pobrać odpowiednie pole Nazwa z zestawu danych, który nie jest powiązany z regionem danych.

Lookup wykonuje następujące działania:

  • Oceni wyrażenie źródłowe w bieżącym zakresie.

  • Oblicza wyrażenie docelowe dla każdego wiersza określonego zestawu danych po zastosowaniu filtrów na podstawie sortowania określonego zestawu danych.

  • Przy pierwszym dopasowaniu wyrażenia źródłowego i wyrażenia docelowego oblicza wyrażenie wyniku dla tego wiersza w zestawie danych.

  • Zwraca wartość wyrażenia wyniku.

Aby pobrać wiele wartości dla pojedynczej nazwy lub pola klucza, gdzie istnieje relacja 1-do-wielu, użyj funkcji Report Builder - LookupSet w raporcie stronicowanym (Report Builder). Aby wywołać funkcję Lookup dla zestawu wartości, użyj funkcji programu Report Builder — Multilookup w raporcie podzielonym na strony (Report Builder).

Obowiązują następujące ograniczenia:

  • Wyszukiwanie jest przeprowadzane 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. Zwracany typ jest taki sam jak typ danych obliczonego wyrażenia wyniku.

  • Wyrażenia źródłowe, docelowe i wynikowe nie mogą zawierać odwołań do zmiennych raportu lub grupy.

  • Funkcja wyszukiwania 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, zobacz Funkcje programu Report Builder — dokumentacja funkcji agregujących w raportach podzielonych na strony (Report Builder) i Zakres wyrażeń dla sum, agregacji i wbudowanych kolekcji w raporcie podzielonym na strony (Report Builder).

Example

W poniższym przykładzie przyjęto założenie, że tabela jest powiązana z zestawem danych zawierającym pole identyfikatora produktu ProductID. Oddzielny zestaw danych o nazwie "Product" zawiera odpowiedni identyfikator produktu i nazwę produktu.

W poniższym wyrażeniu funkcja Lookup porównuje wartość ProductID z identyfikatorem w każdym wierszu zestawu danych o nazwie "Product" i po znalezieniu dopasowania zwraca wartość pola Name dla tego wiersza.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")