Crear una aplicación de plantilla bajo demanda
Una aplicación de plantilla bajo demanda es una aplicación de Qlik Sense normal, 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 aplicación bajo demanda para leer valores del estado de selección de la aplicación de selección y vincularlos al script de la aplicación de plantilla para que la aplicación generada se cargue con un subconjunto de datos controlado por el usuario.
La aplicación de plantilla normalmente se conecta a la misma fuente de datos que la aplicación de selección. El script de carga de una aplicación de selección suele cargar datos agregados para reducir los volúmenes de datos al tiempo que ofrece visualizaciones interactivas de dimensiones y medidas importantes. El script de carga de una aplicación de plantilla utiliza consultas que cargan un subconjunto controlado de datos más granulares.
Las aplicaciones de plantilla deben hacer públicas sus hojas para que otros usuarios generen aplicaciones bajo demanda. Para más información, vea Conceder acceso a hojas, grupos de hojas, marcadores e historias.
Estructura de una aplicación de plantilla
Una aplicación de plantilla está vinculada a una aplicación de selección mediante un enlace de navegación de la aplicación bajo demanda. El enlace de navegación de aplicación incluye propiedades que controlan el número de registros consultados cuando la aplicación bajo demanda se carga con datos. El script de carga de la aplicación de plantilla contiene expresiones de enlace de datos que especifican qué datos de campo de la aplicación de selección se utilizan para formular las consultas emitidas al cargar datos en la aplicación bajo demanda.
En junio de 2020 se introdujo una nueva sintaxis para la expresión de enlaces 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 aplicación debería funcionar en versiones de Qlik Sense anteriores a junio de 2020, utilice la sintaxis antigua. Para la sintaxis antigua, vea Crear una aplicación 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 enlazar el estado de selección de la aplicación de selección con el script de carga de la aplicación bajo demanda, la cual se crea copiando la aplicación de plantilla. La parte de la expresión de enlace de datos que sigue al prefijo odag debe ser un nombre que coincida con un campo de la aplicación de selección. Cuando se genera la aplicación bajo demanda, el estado de selección actual de la aplicación de selección se utiliza para obtener los valores deseados para enlazar cada campo. Cada instancia de una expresión $(odag_FIELDNAME) en el script de carga de la aplicación 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 aplicación 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 aplicaciones de plantilla bajo 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 aplicación de plantilla para que los gráficos maestros para vistas dinámicas se puedan crear sin cargar todos los datos.
Si cambia el script de su plantilla de aplicación e inserta una nueva variable de enlace, se deben crear nuevos enlaces de navegación de aplicación bajo demanda para reemplazar cualquier enlace de navegación de aplicación existente. Si no lo hace, la selección para el campo correspondiente no se enviará para las aplicaciones bajo demanda existentes que utilicen esa aplicación de plantilla.
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 aplicación 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 aplicación 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 aplicaciones bajo demanda pueden usar Inicio de sesión único (SSO) con fuentes de datos que admiten SSO. El motor y la fuente de datos deben configurarse para permitir SSO.
Una vez que el motor y la fuente de datos se han configurado para SSO, la aplicación de plantilla debe habilitar SSO agregando la sintaxis siguiente al script de la aplicación de plantilla:
///!ODAG_SSO
El servicio Servicio de apps bajo demanda analiza el script cuando se genera una aplicación bajo demanda y cada vez que se vuelve a cargar.
Cuando una aplicación 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 aplicación 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.