Préfixes de script
Il est possible d'appliquer des préfixes aux instructions normales pertinentes mais jamais aux instructions de contrôle. Les préfixes when et unless peuvent toutefois être utilisés comme suffixes pour quelques clauses d'instructions de contrôle bien précises.
Tous les mots-clés du script peuvent être saisis en majuscules et/ou en minuscules. Les noms des champs et des variables utilisés dans les instructions sont toutefois sensibles à la casse des caractères.
Pour afficher une description succincte et la syntaxe d'une fonction, utilisez le menu déroulant de chaque fonction. Pour plus d'informations, cliquez sur le nom de la fonction dans la description de la syntaxe.
Il est possible d'ajouter le préfixe Add à n'importe quelle instruction LOAD ou SELECT du script pour spécifier qu'il faut ajouter des enregistrements à une autre table. Cela spécifie également que cette instruction doit être exécutée lors d'un chargement partiel. Le préfixe Add peut également être utilisé dans une instruction Map.
Add [only] [Concatenate[(tablename )]] (loadstatement | selectstatement)
Add [ Only ] mapstatement
Il est possible de créer et de gérer automatiquement des fichiers QVD à l'aide du préfixe buffer. Ce préfixe peut être utilisé dans la plupart des instructions LOAD et SELECT du script. Il indique que des fichiers QVD sont utilisés pour mettre en cache/mémoire tampon le résultat de l'instruction.
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Si deux tables qui doivent être concaténées comportent des ensembles de champs différents, il est tout de même possible de forcer la concaténation des deux tables à l'aide du préfixe Concatenate.
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
Le préfixe de chargement crosstable est utilisé pour transposer des données structurées de « tableau croisé » ou de « tableau croisé dynamique ». Les données structurées de cette manière sont fréquentes lorsque vous travaillez avec des sources de feuilles de calcul. Le résultat et l'objectif du préfixe de chargement crosstable sont de transposer ces structures dans un équivalent de tableau avec des colonnes standard, car cette structure est généralement mieux adaptée à l'analyse dans Qlik Sense.
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
Le préfixe First associé à une instruction LOAD ou SELECT (SQL) sert à charger un nombre d'enregistrements maximal défini à partir d'une table de source de données.
First n( loadstatement | selectstatement )
Le préfixe de chargement Generic permet la conversion des données modélisées entité-attribut-valeur (EAV) en une structure de table relationnelle normalisée standard. La modélisation EAV est également appelée « modélisation de données générique » ou « schéma ouvert ».
Generic ( loadstatement | selectstatement )
Le préfixe hierarchy permet de transformer une table de hiérarchies parent-enfant en table utile dans un modèle de données Qlik Sense. Vous pouvez l'insérer devant une instruction LOAD ou SELECT. Il utilise le résultat de l'instruction de chargement comme entrée pour une transformation de table.
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
Ce préfixe permet de transformer une table de hiérarchies parent-enfant en table utile dans un modèle de données Qlik Sense. Vous pouvez l'insérer devant une instruction LOAD ou SELECT. Il utilise le résultat de l'instruction de chargement comme entrée pour une transformation de table.
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
Les préfixes join et keep peuvent être précédés du préfixe inner.
Utilisé avant join, il spécifie l'utilisation d'une jointure interne. De ce fait, la table résultante contient uniquement des combinaisons de valeurs de champ provenant des tables de données brutes où les valeurs de champ de liaison sont représentées dans les deux tables. Utilisé avant keep, il indique que les deux tables de données brutes doivent être réduites à leur intersection commune avant d'être stockées dans Qlik Sense.
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Le préfixe IntervalMatch permet de créer une table faisant correspondre des valeurs numériques discrètes à un ou plusieurs intervalles numériques et, de manière facultative, faisant correspondre les valeurs d'une ou de plusieurs clés supplémentaires.
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
Le préfixe join permet de joindre la table chargée à une table nommée existante ou à la dernière table de données créée.
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
Le préfixe keep est semblable au préfixe join. Tout comme le préfixe join, il compare la table chargée à une table nommée existante ou à la dernière table de données créée. Cependant, au lieu de joindre la table chargée à une table existante, il a pour effet de réduire une ou les deux tables avant qu'elles ne soient stockées dans Qlik Sense, en fonction de l'intersection des données des tables. La comparaison effectuée équivaut à une jonction naturelle entre tous les champs communs, c.-à-d. de la même manière que dans une jonction correspondante. Cependant, les deux tables ne sont pas jointes et sont conservées dans Qlik Sense comme deux tables nommées distinctes.
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Les préfixes Join et Keep peuvent être précédés du préfixe left.
Utilisé avant join, il spécifie l'utilisation d'une jointure gauche. La table résultante contient uniquement des combinaisons de valeurs de champ provenant des tables de données brutes où les valeurs de champ de liaison sont représentées dans la première table. Utilisé avant keep, il indique que la deuxième table de données brutes doit être réduite à son intersection commune avec la première table avant d'être stockée dans Qlik Sense.
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Le préfixe mapping permet de créer une table de mappage pouvant servir, par exemple, à remplacer des valeurs de champ et des noms de champ lors de l'exécution du script.
Mapping ( loadstatement | selectstatement )
Le préfixe Merge peut être ajouté à n'importe quelle instruction LOAD ou SELECT du script pour spécifier que la table chargée doit être fusionnée dans une autre table. Cela spécifie également que cette instruction doit être exécutée lors d'un chargement partiel.
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
Le préfixe NoConcatenate oblige deux tables chargées aux ensembles de champs identiques à être traitées comme deux tables internes distinctes. Sinon, elles seraient automatiquement concaténées.
NoConcatenate( loadstatement | selectstatement )
Le préfixe explicite Join peut être précédé du préfixe Outer pour spécifier une jointure externe. Dans une jointure externe, toutes les combinaisons entre les deux tables sont générées. De ce fait, la table résultante contient uniquement des combinaisons de valeurs de champ provenant des tables de données brutes où les valeurs de champ de liaison sont représentées dans une ou les deux tables. Le mot-clé Outer est facultatif et correspond au type de jointure par défaut utilisé lorsqu'un préfixe de jointure n'est pas spécifié.
Outer Join [ (tablename) ](loadstatement |selectstatement )
Un chargement complet commence toujours par supprimer toutes les tables du modèle de données existant, puis exécute le script de chargement.
Un Chargement partiel ne le fait pas. Au lieu de cela, il conserve toutes les tables du modèle de données, puis exécute uniquement les instructionsLoad et Select précédées d'un préfixe Add, Merge ou Replace. Les autres tables de données ne sont pas affectées par la commande. L'argument only indique que l'instruction doit être exécutée uniquement lors des chargements partiels et qu'elle doit être ignorée lors des chargements complets. Le tableau suivant synthétise l'exécution des instructions pour les chargements partiels et complets.
Le préfixe Replace peut être ajouté à n'importe quelle instruction LOAD ou SELECT du script pour spécifier que la table chargée doit remplacer une autre table. Cela spécifie également que cette instruction doit être exécutée lors d'un chargement partiel. Le préfixe Replace peut également être utilisé dans une instruction Map.
Replace [only] [Concatenate[(tablename) ]] (loadstatement | selectstatement)
Replace [only] mapstatement
Les préfixes Join et Keep peuvent être précédés du préfixe right.
Utilisé avant join, il spécifie l'utilisation d'une jointure droite. La table résultante contient uniquement des combinaisons de valeurs de champ provenant des tables de données brutes où les valeurs de champ de liaison sont représentées dans la deuxième table. Utilisé avant keep, il indique que la première table de données brutes doit être réduite à son intersection commune avec la deuxième table avant d'être stockée dans Qlik Sense.
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
Le préfixe sample associé à une instruction LOAD ou SELECT permet de charger un échantillon aléatoire d'enregistrements à partir de la source de données.
Sample p ( loadstatement | selectstatement )
Il est possible de charger des tables contenant des relations entre des enregistrements à l'aide d'un préfixe semantic. Il peut s'agir, par exemple, d'auto-références au sein d'une table, où un enregistrement pointe vers un autre, tel qu'un parent, auquel il appartient ou qui est son prédécesseur.
Semantic ( loadstatement | selectstatement)
Utilisé comme préfixe ou comme suffixe, unless permet de créer une clause conditionnelle qui détermine si une instruction ou une clause exit doit être évaluée ou pas. Il peut être considéré comme une alternative plus compacte à l'instruction complète if..end if.
(Unless condition statement | exitstatement Unless condition )
Utilisé comme préfixe ou comme suffixe, when permet de créer une clause conditionnelle qui détermine si une instruction ou une clause exit doit être exécutée ou pas. Il peut être considéré comme une alternative plus compacte à l'instruction complète if..end if.
( When condition statement | exitstatement when condition )