Функция подстановки (построитель отчетов и службы SSRS)
Возвращает первое совпадающее значение для заданного имени из набора данных, содержащего пары «имя-значение».
Примечание
Создавать и изменять определения отчетов (RDL-файлы) в SQL Server Data Tools можно в построителе отчетов и конструкторе отчетов В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов. Дополнительные сведения см. в статье Проектирование отчетов в конструктор отчетов и Report Builder (SSRS) в Интернете по адресу microsoft.com.
Синтаксис
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 (Report Builder и SSRS).
Применяются следующие ограничения:
Функция
Lookup
вычисляется после применения всех выражений фильтров.Поддерживается только один уровень уточняющего запроса. Исходное, целевое и результирующее выражения не могут включать в себя ссылки на функцию уточняющего запроса.
Исходное и результирующее выражения должны возвращать один и тот же тип данных. Возвращаемый тип совпадает с типом данных вычисленного результирующего выражения.
Исходное, целевое и результирующее выражения не могут включать в себя ссылки на переменные отчета или группы.
Функцию
Lookup
нельзя использовать в качестве выражения для следующих элементов отчета:динамические строки соединения для источника данных;
вычисляемые поля в наборе данных;
параметры запроса в наборе данных;
фильтры в наборе данных;
параметры отчета;
Свойство Report.Language.
Дополнительные сведения см. в статьях Функции построителя отчетов — справочник по агрегатным функциям в отчетах с разбивкой на страницы (построитель отчетов) и Область выражения для суммирования, статистических выражений и встроенных коллекций в отчете с разбивкой на страницы (построитель отчетов).
Пример
В следующем примере предположим, что таблица привязана к набору данных, включающему в себя поле для идентификатора продукта ProductID. Отдельный набор данных с именем Product содержит соответствующий идентификатор продукта ID и его название Name.
В следующем выражении функция Lookup
сравнивает значение ProductID со значением ID для каждой из строк набора данных Product и, при совпадении, возвращает значение поля Name для этой строки.
=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")
См. также:
Использование выражений в отчетах (построитель отчетов и службы SSRS)
Примеры выражений (построитель отчетов и службы SSRS)
Типы данных в выражениях (построитель отчетов и службы SSRS)
Область выражения для итогов, агрегатных функций и встроенных коллекций (построитель отчетов и службы SSRS)