Функция 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().
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!