Создание приложения шаблона On-demand
Приложение шаблона On-demand — это стандартное приложение Qlik Sense с одной отличительной особенностью: скрипт загрузки приложения содержит выражения привязки данных для составления запросов к источникам данных. Эти выражения привязки данных используются в ходе создания приложения 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) с источниками данных, поддерживающими SSO. Подсистему и источник данных необходимо настроить для поддержки SSO.
Для получения дополнительной информации см. Настройка SAP HANA для единого входа SAML в Qlik Sense (только английский язык) и Настройка Cloudera Impala для единого входа (только английский язык).
После настройки подсистемы и источника данных для поддержки SSO приложение шаблона должно включить SSO путем добавления следующего синтаксиса к скрипту приложения шаблона.
///!ODAG_SSO
On-Demand App Service выполняет синтаксический анализ скрипта в ходе создания приложения On-demand и при каждой загрузке.
При загрузке приложения On-demand с помощью SSO удостоверение конечного пользователя направляется источнику данных. Конечный пользователь должен иметь доступ к источникам, которые используются подключениями к данным приложения шаблона. Даже при выборе более крупного набора данных загружаются только данные источника, к которым имеет доступ пользователь.
Узлы загрузки приложений шаблона
Администраторы могут управлять расположениями загрузки приложений On-demand в многоузловой среде путем настройки правил балансировки нагрузки для приложений шаблона. Если настроено правило балансировки нагрузки, все приложения, создаваемые из ссылок на приложение шаблона, будут загружаться в соответствии с правилом, которое применяется к приложению шаблона. Для получения дополнительной информации см. Управление приложениями On-demand (только английский язык).