Создание приложения шаблона On-demand
On-demand шаблонное приложение — это обычное Qlik Sense приложение с одной важной особенностью: его скрипт загрузки содержит выражения привязки данных, используемые для составления запросов к источникам данных. Эти выражения привязки данных используются в ходе создания приложения On-demand в целях считывания значений из состояния выборок приложения выбора и привязки этих значений к скрипту приложения шаблона. Благодаря этому созданное приложение загружается с подмножеством данных, контролируемым пользователем.
Как правило, приложение шаблона подключается к тому же источнику данных, что и приложение выбора. Как правило, скрипт загрузки приложения выбора загружает агрегированные данные в целях сокращения их объема. При этом скрипт поддерживает интерактивные визуализации важных измерений и мер. Скрипт загрузки приложения шаблона использует запросы, которые загружают контролируемое подмножество более детализированных данных.
В шаблонных приложениях листы необходимо сделать общими, чтобы другие пользователи могли создавать приложения On-demand. Для получения дополнительной информации см. раздел Предоставление доступа к листам, группам листов, закладками и историям.
Структура приложения шаблона
Приложение шаблона связывается с приложением выбора при помощи ссылки навигации приложения On-demand. Ссылка навигации приложения включает свойства, которые управляют количеством записей, запрашиваемых в ходе загрузки данных в приложение On-demand. Скрипт загрузки приложения шаблона содержит выражения привязки данных, которые указывают, какие данные поля из приложения выбора следует использовать для создания запросов в ходе загрузки данных в приложение On-demand.
В версии June 2020 был представлен новый синтаксис для выражения привязки данных. Поведение предыдущего синтаксиса и префиксов od_, ods_, odo_, odso_ и odb_ не изменилось, включая ограничения количества, суффикс _n и спецификации формата. Если ваше приложение должно работать на Qlik Sense версиях, выпущенных до June 2020, используйте старый синтаксис. Сведения о старом синтаксисе см. в разделе Создание шаблонного приложения On-demand (старая версия).
Суффикс _n не поддерживается при использовании новых префиксов.
Базовые выражения привязки данных имеют следующую форму:
$(odag_FIELDNAME)
Префикс odag_ служит для привязки состояния выборки приложения выбора к скрипту загрузки приложения On-demand, которое создается при помощи копирования приложения шаблона. Часть выражения привязки данных, следующая за префиксом odag, должна представлять собой имя, которое соответствует полю в приложении выбора. При создании приложения On-demand текущее состояние выборки приложения выбора служит для получения необходимых значений, которые затем привязываются к каждому полю. Каждое вхождение выражения $(odag_FIELDNAME) в скрипт загрузки нового приложения On-demand заменяется списком значений, выбранных для соответствующего поля в состоянии выборок приложения выбора.
Другие префиксы доступны для более специализированной привязки данных. Для получения дополнительной информации об адаптации в особых случаях и оптимизации операторов Load см. Выражения привязки в приложениях шаблона On-demand.
Привязки On-demand можно вставить непосредственно в операторы SELECT и WHERE в скрипте загрузки. При непосредственном добавлении привязок в оператор WHERE их легко сочетать с другими условиями в операторе.
При создании скрипта загрузки можно добавить переменную заполнителя $(odagActive). Это позволяет загрузить данные образца в приложение шаблона так, чтобы можно было создать основные диаграммы для динамических видов, не загружая все данные.
Если вы измените скрипт вашего шаблонного приложения и вставите новую переменную привязки, необходимо создать новые ссылки навигации для приложения по запросу, чтобы заменить любые существующие ссылки навигации приложения. Если этого не сделать, выборка для соответствующего поля не будет отправляться для существующих приложений по запросу, которые используют этот шаблон приложения.
Следующие примеры иллюстрируют образец скрипта загрузки для приложения шаблона On-demand.
Пример: Добавление некоторых данных образца
В этом примере добавляются образцы значений, чтобы приложение могло быть загружено даже при незавершенных привязках.
IF '$(odagActive)'='' THEN
trace ODAG variables not inserted! Loading sample data.;
SET 'odag_Origin Code' = '''LAX''';
SET 'odag_Destination Code' = '''JFK''';
SET odagn_Year = 2015;
SET odag_Quarter = '''1''';
SET 'odag_Ticket Carrier Code' = '''CA''';
SET 'odag_Fare Class' = '''X''';
END IF;
Пример: Загрузка данных в приложение шаблона
Далее показан образец скрипта загрузки, позволяющий загрузить данные образца и отфильтровать их с помощью созданных привязок odag_FIELDNAME. Привязки odagn_<имя поля> берут числа из пар и не используют кавычки по умолчанию.
SQL SELECT *
FROM FlightDB.Flights
WHERE "Origin Code" IN ($(odag_Origin Code))
AND "Destination Code" IN ($(odag_Destination Code))
AND "Year" IN ($(odagn_Year))
AND "Quarter" IN ($(odag_Quarter))
AND "Ticket Carrier Code" IN ($(odag_Ticket Carrier Code))
AND "Fare Class" IN ($(odag_Fare Class));
Единый вход (SSO)
Приложения On-demand могут использовать единый вход (SSO) с источниками данных, поддерживающими Единый вход. Необходима конфигурация движка и источника данных, которая поддерживает Единый вход.
После настройки движка и источника данных для Единый вход приложение шаблона должно включить Единый вход путем добавления следующего синтаксиса к скрипту приложения шаблона:
///!ODAG_SSO
Служба приложения On-demand выполняет синтаксический анализ скрипта в ходе создания приложения по запросу и при каждой его перезагрузке.
При загрузке приложения по запросу с помощью Единый вход удостоверение конечного пользователя направляется источнику данных. Конечный пользователь должен иметь доступ к источникам, используемым в подключениях к данным приложения шаблона. Даже при выборе более крупного набора данных загружаются только данные источника, к которым имеет доступ пользователь.