Crear una app de plantilla bajo demanda
Una app de plantilla bajo demanda es una app Qlik Sense normal pero con una importante diferencia: su script de carga contiene expresiones de enlace a los datos utilizadas para formular las consultas efectuadas en las fuentes de datos. Estas expresiones de enlace a los datos se utilizan en el tiempo de generación de una app bajo demanda para leer valores del estado de selección de la app de selección y vincularlas al script de la app de plantilla para que la aplicación generada se cargue con un subconjunto de datos controlado por el usuario.
La app de plantilla normalmente se conecta a la misma fuente de datos que la app de selección. El script de carga de una app de selección generalmente carga datos agregados para reducir los volúmenes de datos y al mismo tiempo ofrece visualizaciones interactivas de dimensiones y medidas importantes. El script de carga de una app de plantilla utiliza consultas que cargan un subconjunto controlado de datos más granulares.
Estructura de una app de plantilla
Una app de plantilla está vinculada a una app de selección que utiliza un enlace de navegación de app bajo demanda. El enlace de navegación de aplicaciones incluye propiedades que controlan el número de registros consultados cuando la app bajo demanda se carga con datos. El script de carga de la app de plantilla contiene expresiones de enlace de datos que especifican qué datos de campos de la app de selección se utilizan para formular las consultas emitidas al cargar datos en la app a demanda.
En junio de 2020 se introdujo una nueva sintaxis para la expresión de enlace de datos. La sintaxis y los prefijos anteriores od_, ods_, odo_, odso_ y odb_ se comportan como antes, incluidas restricciones de cantidad, _n sufijo y especificaciones de formato. Si su app debería funcionar en versiones de Qlik Sense anteriores a junio de 2020, utilice la sintaxis anterior. Para conocer la sintaxis anterior, vea Crear una app de plantilla bajo demanda (versión antigua)
El sufijo _n no es compatible cuando se usan los nuevos prefijos.
Las expresiones de enlace de datos tienen la forma siguiente:
$(odag_FIELDNAME)
El prefijo odag_ se utiliza para vincular el estado de selección de la app de selección con el script de carga de la app bajo demanda, el cual se crea al copiar la app de plantilla. La parte de la expresión del enlace de datos que sigue al prefijo odag debe ser un nombre que coincida con un campo en la app de selección. Cuando se genera la app bajo demanda, el estado de selección actual de la app de selección se usa para obtener los valores deseados para enlazar para cada campo. Cada instancia de una expresión $(odag_FIELDNAME) en el script de carga de la app bajo demanda recién creada se reemplaza por la lista de valores seleccionados para el campo correspondiente en el estado de selección de la app de selección.
Hay disponibles otros prefijos para enlace de datos más especializado. Para obtener más información sobre la adaptación para casos especiales y la optimización de sentencias de carga, vea Expresiones de enlace en apps de plantilla a demanda.
Los enlaces bajo demanda se pueden insertar directamente en sentencias SELECT y WHERE de su script de carga. Cuando agregue enlaces directamente a sus sentencias WHERE, es fácil combinarlos con otras condiciones en la sentencia.
Puede agregar una variable de marcador de posición $(odagActive) al crear su script de carga. Esto le permite cargar datos de muestra en la app de plantilla para que se puedan crear gráficos maestros para vistas dinámicas sin cargar todos los datos.
Los ejemplos siguientes ilustran un script de carga de plantilla bajo demanda a modo de muestra.
Ejemplo: Agregar algunos datos de muestra
Este ejemplo agrega valores de muestra para que la app se pueda cargar incluso si los enlaces no están completos.
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;
Ejemplo: Cargar datos en la app de plantilla
Lo siguiente es un script de carga a modo de ejemplo para cargar los datos de muestra y filtrarlos con los enlaces generados odag_FIELDNAME. Los enlaces odagn_<Field Name> seleccionan los números en los duales y los usos por defecto no incluyen comillas.
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));
Inicio de sesión único (SSO)
Las apps bajo demanda pueden utilizar Inicio de sesión único (SSO) con fuentes de datos compatibles con SSO. El motor y la fuente de datos deben configurarse para permitir SSO.
Para más información, vea Configurar SAP HANA para SAML Single Sign-On con Qlik Sense (solo en inglés) y Configurar Cloudera Impala para Single Sign-On (solo en inglés).
Una vez que el motor y la fuente de datos se han configurado para SSO, la app de plantilla debe habilitar SSO agregando la sintaxis siguiente al script de la app de plantilla:
///!ODAG_SSO
El servicio Servicio de apps bajo demanda analiza el script cuando se genera una app bajo demanda y cada vez que se vuelve a cargar.
Cuando una app bajo demanda se carga con SSO,la identidad del usuario final se envía a la fuente de datos. El usuario final debe tener acceso a las fuentes utilizadas en las conexiones de datos de la app de plantilla. Solo se cargan los datos a los que el usuario tiene acceso en esas fuentes, incluso si se selecciona un conjunto de datos más grande.
Cargar nodos para apps de plantilla
Los administradores pueden controlar dónde se cargan las apps bajo demanda en un entorno de varios nodos estableciendo reglas de equilibrio de carga en apps de plantilla. Cuando se establece una regla de equilibrio de carga, todas las apps generadas a partir de enlaces a la app de plantilla se cargarán de acuerdo con la regla que se aplica a la app de plantilla. Para más información, vea Administrar apps bajo demanda (solo en inglés).