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

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

Синтаксис:

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

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

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| 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.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterRecordFunctions/LookUp.htm)

#### Пример

### Скрипт загрузки

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

```
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;
```

Для получения дополнительной информации об использовании встроенных загрузок см. [Использование встроенных загрузок для загрузки данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

### Создать визуализацию

Создайте визуализацию таблицы на листе Qlik Sense. Добавьте в таблицу поля ProductID, InvoiceID, CustomerID, Units и CategoryID.

### Результат

Результирующая таблица

| 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() в следующем виде:

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

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

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

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

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

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

## Подробнее

* [ApplyMap Функция скрипта](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)