Création d'une application modèle On-demand
Une application modèle On-demand est une application Qlik Sense standard à une grande différence près : son script de chargement comprend des expressions de liaison de données utilisées pour formuler les requêtes portant sur les sources de données. Ces expressions de liaison de données sont utilisées au moment de la génération de l'application On-demand. Elles permettent de lire les valeurs à partir de l'état de sélection de l'application et de lier celles-ci au script de l'application modèle afin que l'application générée soit chargée avec un sous-ensemble des données contrôlé par l'utilisateur.
En général, l'application modèle se connecte à la même source de données que l'application de sélection. Le script de chargement d'une application de sélection charge habituellement des données agrégées afin de réduire les volumes de données tout en offrant cependant des visualisations interactives de dimensions et de mesures importantes. Le script de chargement d'une application modèle utilise des requêtes qui chargent un sous-ensemble contrôlé de données plus granulaires.
Structure d'une application modèle
Une application modèle est associée à une application de sélection par un lien de navigation d'application On-demand. Ce lien de navigation inclut des propriétés permettant de contrôler le nombre d'enregistrements interrogés lorsque l'application On-demand est chargée avec des données. Le script de chargement de l'application modèle comprend des expressions de liaison de données qui indiquent quelles données de champ de l'application de sélection sont utilisées pour formuler les requêtes émises au moment du chargement des données dans l'application On-demand.
Une nouvelle syntaxe a été lancée en juin 2020 pour les expressions de liaison de données. La précédente syntaxe et les précédents préfixes od_, ods_, odo_, odso_ et odb_ se comportent comme avant, y compris les contraintes de quantité, le suffixe _n et les spécifications de format. Si votre application doit fonctionner sur les versions Qlik Sense antérieures à juin 2020, utilisez l'ancienne syntaxe. Pour connaître l'ancienne syntaxe, voir Création d'une application modèle On-demand (ancienne version).
Lors de l'utilisation des nouveaux préfixes, le suffixe _n n'est plus supporté.
Les expressions de liaison de données de base suivent la forme ci-dessous :
$(odag_FIELDNAME)
Le préfixe odag_ est utilisé pour lier l'état de sélection de l'application de sélection au script de chargement de l'application On-demand, qui est créé via la copie de l'application modèle. Dans l'expression de liaison de données, le préfixe odag_ doit être suivi par un nom correspondant à un champ figurant dans l'application de sélection. Lorsque l'application On-demand est générée, l'état de sélection actif de l'application de sélection est utilisé pour définir les valeurs souhaitées à lier pour chaque champ. Chaque occurrence d'une expression $(odag_FIELDNAME) figurant dans le script de chargement de l'application On-demand qui vient d'être créée est remplacée par la liste des valeurs choisies pour le champ correspondant dans l'état de sélection de l'application de sélection.
D'autres préfixes, pour des liaisons de données plus spécialisées, sont disponibles. Pour en savoir plus sur la personnalisation des cas spéciaux et l'optimisation des instructions LOAD, voir Expressions de liaison dans les applications modèles On-demand.
Les liaisons On-demand peuvent être directement insérées dans les instructions SELECT et WHERE de votre script de chargement. Lorsque vous ajoutez des liaisons directement dans les instructions WHERE, il est facile de les combiner avec d'autres conditions de l'instruction.
Lorsque vous générez votre script de chargement, vous pouvez ajouter une variable d'espace réservé $(odagActive). Cela vous permet de charger les échantillons de données dans l'application modèle afin de pouvoir créer les graphiques principaux des vues dynamiques sans charger la totalité des données.
Les exemples suivants montre un script de chargement modèle On-demand.
Ajout de certains échantillons de données
Cet exemple ajoute des échantillons de valeurs afin de pouvoir charger l'application, même si les liaisons ne sont pas complètes.
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;
Chargement de données dans l'application modèle
L'exemple suivant montre un script de chargement modèle pour le chargement des échantillons de données et leur filtrage avec les liaisons odag_FIELDNAME générées. Les liaisons odagn_<Field Name> sélectionnent les nombres dans les valeurs doubles et, par défaut, n'utilisent pas de guillemets.
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));
Authentification unique (SSO)
Les applications On-demand peuvent utiliser authentification unique (SSO) avec des sources de données qui supportent SSO. Il convient de configurer le moteur et la source de données de façon à autoriser SSO.
Pour plus d'informations, consultez les rubriques Configuring SAP HANA for SAML Single Sign-On with Qlik Sense (uniquement en anglais) et Configuring Cloudera Impala for Single Sign-On (uniquement en anglais).
Une fois le moteur et la source de données configurés pour SSO, activez la fonction SSO dans l'application modèle en ajoutant la syntaxe suivante dans le script de l'application modèle :
///!ODAG_SSO
Le service Service d'applications On-demand analyse le script lorsqu'une application On-demand est générée et chaque fois qu'elle est chargée.
Lorsqu'une application On-demand est chargée avec SSO, l'identité de l'utilisateur final est envoyée à la source de données. L'utilisateur final doit avoir accès aux sources utilisées dans les connexions de données de l'application modèle. Seules les données auxquelles l'utilisateur a accès sont chargées dans ces sources, même si un jeu de données plus vaste est sélectionné.
Chargement de nœuds pour les applications modèles
Les administrateurs peuvent contrôler l'emplacement de chargement des applications On-demand dans un environnement à plusieurs nœuds en définissant des règles d'équilibrage de charge pour les applications modèles. Lorsqu'une règle d'équilibrage de charge est définie, toutes les applications générées à partir des liens vers l'application modèle sont chargées en fonction de la règle régissant l'application modèle. Pour plus d'informations, consultez Managing on-demand apps (uniquement en anglais).