Создание приложения шаблона On-demand
Приложение шаблона On-demand — это стандартное приложение Qlik Sense с одной отличительной особенностью: скрипт загрузки приложения содержит выражения привязки данных для составления запросов к источникам данных. Эти выражения привязки данных используются в ходе создания приложения On-demand в целях считывания значений из состояния выборок приложения выбора и привязки этих значений к скрипту приложения шаблона. Благодаря этому созданное приложение загружается с подмножеством данных, контролируемым пользователем.
Как правило, приложение шаблона подключается к тому же источнику данных, что и приложение выбора. Как правило, скрипт загрузки приложения выбора загружает агрегированные данные в целях сокращения их объема. При этом скрипт поддерживает интерактивные визуализации важных измерений и мер. Скрипт загрузки приложения шаблона использует запросы для загрузки контролируемого подмножества более детализированных данных.
Структура приложения шаблона
Приложение шаблона связывается с приложением выбора при помощи ссылки навигации приложения On-demand. Ссылка навигации приложения включает свойства, которые управляют количеством записей, запрашиваемых в ходе загрузки данных в приложение On-demand. Скрипт загрузки приложения шаблона содержит выражения привязки данных, которые указывают, какие данные из приложения выбора следует использовать для создания запросов в ходе загрузки данных в приложение On-demand.
Выражения привязки данных имеют следующую форму:
$(od_FIELDNAME)
Префикс od_ служит для привязки состояния выборки приложения выбора к скрипту загрузки приложения On-demand, которое создается при помощи копирования приложения шаблона. Часть выражения привязки данных, следующая за префиксом od_, должна представлять собой имя, которое соответствует полю в приложении выбора. При создании приложения On-demand текущее состояние выборки приложения выбора служит для получения необходимых значений, которые затем привязываются к каждому полю. Каждое вхождение выражения $(od_FIELDNAME) в скрипт загрузки нового приложения On-demand заменяется списком значений, выбранных для соответствующего поля в состоянии выборки приложения выбора.
Для получения дополнительной информации о порядке привязки значений с помощью операторов LOAD INLINE см. Выражения привязки в приложениях шаблона On-demand.
Чтобы синтаксис
SUB ExtendWhere(Name, ValVarName) LET T = Name & '_COLNAME'; LET ColName = $(T); LET Values = $(ValVarName); IF len(Values) > 0 THEN IF len(WHERE_PART) > 0 THEN LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )'; ELSE LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )'; ENDIF ENDIF END SUB;
Перед вызовом подпрограммы
Чтобы в операторе SQL оставалось неизменным предложение WHERE, а также предложения, вставляемые приложением выбора, вставьте предложение
Ниже приведен пример использования подпрограммы
FOR EACH fldname IN 'ORIGIN', 'DEST', 'YEAR', 'QUARTER', 'ORIGIN_STATE_ABR', 'DEST_STATE_ABR' LET vallist = $(fldname); WHEN (IsNull(vallist)) LET vallist = ''; IF len(vallist) > 0 THEN CALL ExtendWhere('$(fldname)','vallist'); ENDIF NEXT fldname
Список имен полей должен соответствовать именам полей, которые используются в каждой созданной привязке поля.
После создания списка значений для каждого поля можно добавить оператор SELECT. Пример.
SQL SELECT "MKT_ID", "YEAR", "QUARTER", "ORIGIN", "ORIGIN_STATE_ABR", "DEST", "DEST_STATE_ABR", "TICKET_CARRIER", "FARE_CLASS", "PASSENGERS", "DISTANCE", 1 AS "FLIGHT_COUNT" FROM "SAPH7T"."/QT/AIRPORT_FACT" $(WHERE_PART);
Раздел
Единый вход (SSO)
Приложения On-demand могут использовать single sign-on (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 в многоузловой среде путем настройки правил балансировки нагрузки для приложений шаблона. Если настроено правило балансировки нагрузки, все приложения, создаваемые из ссылок на приложение шаблона, будут загружаться в соответствии с правилом, которое применяется к приложению шаблона.