Создание приложения шаблона 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 выполняет синтаксический анализ скрипта в ходе создания приложения On-demand и при каждой загрузке.
При загрузке приложения On-demand с помощью Единый вход удостоверение конечного пользователя направляется источнику данных. Конечный пользователь должен иметь доступ к источникам, которые используются подключениями к данным приложения шаблона. Даже при выборе более крупного набора данных загружаются только данные источника, к которым имеет доступ пользователь.