Перейти к основному содержимому Перейти к дополнительному содержимому

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

Имя таблицы, в которой необходимо искать значение. Вводимое значение необходимо задать в виде строки (например, литералы ссылочного типа).

Если элемент 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().

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com