Функции построителя отчетов — функция Lookup в отчете с разбивкой на страницы (построитель отчетов)

Применимо: Microsoft построитель отчетов (SSRS) Power BI построитель отчетов конструктор отчетов в SQL Server Data Tools

В отчете с разбивкой на страницы возвращает первое совпадающее значение для заданного имени из набора данных, содержащего пары "имя-значение".

Примечание.

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

Синтаксис

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

Параметры

source_expression
(Variant) Выражение, вычисляемое в текущей области и указывающее имя или ключ для поиска. Например, =Fields!ProdID.Value.

destination_expression
(Variant) Выражение, вычисляемое для каждой строки в наборе данных и указывающее имя или ключ для сопоставления. Например, =Fields!ProductID.Value.

result_expression
(Variant) Выражение, которое вычисляется для строки в наборе данных, где source_expression = destination_expression, и указывает возвращаемое значение. Например, =Fields!ProductName.Value.

набор данных
Константа, задающая имя набора данных в отчете. Например, «Продукты».

Возврат

Возвращает значение Variantили Nothing , если совпадения нет.

Замечания

Функция Lookup позволяет извлечь значение из указанного набора данных, состоящего из пар "имя-значение" с отношением "один к одному". Например, для поля ID в таблице функция Lookup может быть использована для поиска соответствующего поля Name в наборе данных, не привязанном к области данных.

ФункцияLookup выполняет следующие действия.

  • Вычисляет исходное выражение в текущей области.

  • Вычисляет целевое выражение для каждой строки указанного набора данных после применения фильтров с учетом заданных для него параметров сортировки.

  • При первом совпадении исходного и целевого выражений вычисляет результирующее выражение для этой строки в наборе данных.

  • Возвращает результирующее значение выражения.

Для получения множества значений по одному имени или ключевому полю, если существует отношение связь "один ко многим", пользуйтесь функцией LookupSet (построитель отчетов и службы SSRS). Для вызова функции Lookup для набора значений используйте функцию Multilookup (построитель отчетов и службы SSRS).

Применяются следующие ограничения:

  • ФункцияLookup вычисляется после применения всех выражений фильтров.

  • Поддерживается только один уровень уточняющего запроса. Исходное, целевое и результирующее выражения не могут включать в себя ссылки на функцию уточняющего запроса.

  • Исходное и результирующее выражения должны возвращать один и тот же тип данных. Возвращаемый тип совпадает с типом данных вычисленного результирующего выражения.

  • Исходное, целевое и результирующее выражения не могут включать в себя ссылки на переменные отчета или группы.

  • ФункциюLookup нельзя использовать в качестве выражения для следующих элементов отчета:

    • динамические строки соединения для источника данных;

    • вычисляемые поля в наборе данных;

    • параметры запроса в наборе данных;

    • фильтры в наборе данных;

    • параметры отчета;

    • Свойство Report.Language.

Дополнительные сведения см. в разделах Справочник по агрегатным функциям (построитель отчетов и SSRS) и Область выражения для суммирования, агрегатных функций и встроенных коллекций (построитель отчетов и SSRS).

Пример

В следующем примере предположим, что таблица привязана к набору данных, включающему в себя поле для идентификатора продукта ProductID. Отдельный набор данных с именем Product содержит соответствующий идентификатор продукта ID и его название Name.

В следующем выражении функция Lookup сравнивает значение ProductID со значением ID для каждой из строк набора данных Product и, при совпадении, возвращает значение поля Name для этой строки.

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

См. также

Использование выражений в отчетах (построитель отчетов и SSRS)
Примеры выражений (построитель отчетов и службы SSRS)
Типы данных в выражениях (построитель отчетов и службы SSRS)
Область выражений для итогов, агрегатов и встроенных коллекций (построитель отчетов и SSRS)