Функция Lookup() просматривает загруженную таблицу и возвращает значение поля field_name, соответствующее первому вхождению значения match_field_value в поле match_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.
Скрипт загрузки
Загрузите следующие данные через встроенную загрузку в редакторе загрузки данных, чтобы создать пример, показанный ниже.
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;
Для получения дополнительной информации об использовании встроенных загрузок см. раздел Встроенные загрузки.
Создать визуализацию
Создайте визуализацию таблицы на листе 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() используется для построения таблицы OrderData. Она указывает третий аргумент как ProductID. Это поле, для которого будет выполняться поиск значения во втором аргументе 'ProductID' в таблице ProductList, как определено завершающими одинарными кавычками.
Функция возвращает значение для 'Category' (в таблице ProductList), загруженной как CategoryID.
Оператор drop удаляет таблицу ProductList из модели данных, поскольку она не требуется. В результате остается конечная таблица OrderData.
Примечание к информацииФункция Lookup() гибкая, она может получить доступ к любой ранее загруженной таблице. Тем не менее, она медленно сравнивается с функцией Applymap().
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!