Création d'une application modèle On-demand
SUR CETTE PAGE
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.
Les expressions de liaison de données suivent la forme ci-dessous :
$(od_FIELDNAME)
Le préfixe od_ 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 od_ 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 $(od_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.
Pour en savoir plus sur la liaison de valeurs à l'aide des instructions de chargement INLINE, voir Expressions de liaison dans les applications modèles On-demand.
Pour respecter la syntaxe
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;
Avant d'appeler la sous-routine
Si vous souhaitez que l'instruction SQL comprenne une clause WHERE invariable en plus des clauses qui seront insérées par l'application de sélection, ajoutez
L'exemple suivant illustre la façon dont la sous-routine
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
La liste des noms de champ devrait correspondre aux noms des champs utilisés dans chacune des liaisons de champ que vous créez.
Une fois que vous avez élaboré la liste de valeurs pour chaque champ, vous pouvez rédiger une instruction SELECT. Par exemple :
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);
La partie
Authentification unique (SSO)
Les applications On-demand peuvent utiliser single sign-on (SSO) avec des sources de données qui prennent en charge SSO. Il convient de configurer le moteur et la source de données de façon à autoriser SSO.
Pour plus d'informations, voir 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 On-Demand App Service 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 ensemble 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.