# LookUp — функция скрипта

Функция Lookup() просматривает загруженную таблицу и возвращает значение поля field\_name, соответствующее первому вхождению значения match\_field\_value в поле match\_field\_name. Таблица может быть текущей таблицей или другой ранее загруженной таблицей.

Синтаксис:

lookup(field\_name, match\_field\_name, match\_field\_value [, table\_name])

Возвращаемые типы данных: двойное значение

Аргументы:

аргументы LookUp

| Аргумент | Описание |
| --- | --- |
| field\_name | Имя поля, для которого требуется возвращаемое значение.Вводимое значение необходимо задать в виде строки (например литералы ссылочного типа). |
| match\_field\_name | Имя поля, в котором необходимо искать элемент match\_field\_value. Вводимое значение необходимо задать в виде строки (например литералы ссылочного типа). |
| match\_field\_value | Значение, которое необходимо искать в поле match\_field\_name. |
| table\_name | Имя таблицы, в которой необходимо искать значение. Вводимое значение необходимо задать в виде строки (например, литералы ссылочного типа).<br><br>Если элемент table\_name отсутствует, принимается текущая таблица. |

Примечание к информацииАргументы без кавычек относятся к текущей таблице. Чтобы отнести аргументы к другой таблице, заключите их в одинарные кавычки.

Ограничения:

Порядком поиска является порядок загрузки, если таблица не является результатом таких сложных операций, как операции объединения, в случае которых порядок недостаточно определен. Поля field\_name и match\_field\_name должны быть полями в одной таблице, указанной с помощью элемента table\_name.

Если совпадений не найдено, возвращается значение NULL.

Пример:

Данные образца используют функцию Lookup() в следующем виде:

`Lookup('Category', 'ProductID', ProductID, 'ProductList')`

Добавьте образец скрипта в свой документ и запустите. Затем добавьте на лист документа как минимум поля, указанные в столбце с результатами, чтобы увидеть результаты.

`ProductList:` `Load * Inline [` `ProductID|Product|Category|Price` `1|AA|1|1` `2|BB|1|3` `3|CC|2|8` `4|DD|3|2` `] (delimiter is '|');` ` ` `OrderData:` `Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID` `Inline [` `InvoiceID|CustomerID|ProductID|Units` `1|Astrida|1|8` `1|Astrida|2|6` `2|Betacab|3|10` `3|Divadip|3|5` `4|Divadip|4|10` `] (delimiter is '|');` ` ` `Drop Table ProductList` ` `

Сначала загружается таблица ProductList.

Функция Lookup() используется для построения таблицы OrderData. Она указывает третий аргумент как ProductID. Это поле, для которого будет выполняться поиск значения во втором аргументе 'ProductID' в таблице ProductList, как определено завершающими одинарными кавычками.

Функция возвращает значение для 'Category' (в таблице ProductList), загруженной как CategoryID.

Оператор drop удаляет таблицу ProductList из модели данных, поскольку она не требуется. Результаты таблицы OrderData будут следующими:

Результаты примера 1

| ProductID | InvoiceID | CustomerID | Units | CategoryID |
| --- | --- | --- | --- | --- |
| 1 | 1 | Astrida | 8 | 1 |
| 2 | 1 | Astrida | 6 | 1 |
| 3 | 2 | Betacab | 10 | 2 |
| 3 | 3 | Divadip | 5 | 2 |
| 4 | 4 | Divadip | 10 | 3 |

Примечание к информацииФункция Lookup() гибкая, она может получить доступ к любой ранее загруженной таблице. Тем не менее, она медленно сравнивается с функцией Applymap().

## Подробнее

* [ApplyMap — функция скрипта](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/MappingFunctions/ApplyMap.htm)