Utilisation de guillemets dans le script
Vous pouvez utiliser des guillemets dans des instructions de script de bien des manières différentes.
Dans les instructions LOAD
Dans une instruction LOAD, les symboles suivants doivent être utilisés comme guillemets :
Description | Symbole | Point de code | Exemple |
---|---|---|---|
guillemets doubles |
" " | 34 | "chaîne" |
crochets | [ ] | 91, 93 | [chaîne] |
accents graves | ` ` | 96 | `chaîne` |
Description | Symbole | Point de code | Exemple |
---|---|---|---|
guillemets simples |
' ' |
39 | 'chaîne' |
Dans les instructions SELECT
Pour une instruction SELECT interprétée par un pilote ODBC, l'utilisation peut varier. En général, vous devez utiliser les guillemets droits doubles (Alt + 0034) pour les noms de champ et de table, et les guillemets droits simples (Alt + 0039) pour les littéraux, et ne jamais utiliser les accents graves. Cependant, certains pilotes ODBC non seulement acceptent, mais préfèrent, le recours aux accents graves. Dans ce cas, les instructions SELECT générées contiennent des guillemets en forme d'accent grave.
Exemple de guillemets employés dans Microsoft Access
Microsoft Access ODBC Driver 3.4 (inclus dans Microsoft Access 7.0) accepte les guillemets suivants dans l'analyse de l'instruction SELECT :
Noms des champs et des tables :
- [ ]
- " "
- ` `
Littéraux de chaîne :
- ' '
D'autres bases de données peuvent appliquer des conventions différentes.
À l'extérieur des instructions LOAD
À l'extérieur d'une instruction LOAD, aux emplacements où Qlik Sense attend une expression, les guillemets doubles indiquent une référence à une variable et pas à un champ. Si vous utilisez des guillemets doubles, la chaîne placée entre ces guillemets est alors interprétée comme une variable et la valeur de la variable est utilisée.
Références à des tables et des champs hors contexte
Certaines fonctions de script font référence à des champs déjà créés ou figurant dans la sortie d'une instruction LOAD, par exemple Exists() et Peek(). Ces références de champ sont appelées références à des champs hors contexte, par opposition aux références à des champs sources, qui renvoient à des champs placés en contexte, c.-à-d. figurant dans la table d'entrée de l'instruction LOAD.
Les références à des tables et des champs hors contexte doivent être considérées comme des littéraux et, par conséquent, doivent être placées entre des guillemets simples.
Différence entre les noms et les littéraux
La différence entre les noms et les littéraux devient plus claire si vous comparez les exemples suivants :
'Sweden' as Country
Lorsque cette expression est utilisée dans la liste de champs d'une instruction LOAD ou SELECT, la chaîne de texte "Sweden" est chargée comme valeur de champ dans le champ Qlik Sense "Country".
"land" as Country
Lorsque cette expression est utilisée comme partie de la liste de champs dans une instruction LOAD ou SELECT, le contenu du champ de la base de données ou de la colonne de la table intitulée "land" est chargé sous forme de valeurs de champ dans le champ Qlik Sense "Country". Autrement dit, land est traité comme une référence de champ.
Différence entre les nombres et les littéraux de chaîne
La différence entre les nombres et les chaînes littérales devient plus claire lorsque vous comparez les exemples suivants.
'12/31/96'
Lorsque cette chaîne est utilisée dans une expression, elle est tout d'abord interprétée comme la chaîne de texte "12/31/96", laquelle peut être interprétée à son tour sous forme de date au format 'MM/DD/YY '. Dans ce cas, elle est stockée en tant que valeur double, avec une représentation à la fois numérique et textuelle.
12/31/96
Lorsque cette chaîne est utilisée dans une expression, elle est interprétée en tant que nombre, soit 12 divisé par 31 divisé par 96.
Utilisation de guillemets dans une chaîne
Lorsqu'une chaîne contient des caractères pouvant être utilisés comme guillemets, il est important d'indiquer clairement le début et la fin de la chaîne lorsqu'elle est mise entre guillemets. Si la mise entre guillemets de la chaîne n'est pas claire, le script se soldera par un échec ou ne chargera pas correctement les données.
Il existe deux méthodes pour mettre entre guillemets une chaîne contenant des guillemets.
Utilisation d'un type de guillemet spécifique pour entourer la chaîne
Choisissez un type de guillemet qui n'est pas employé à l'intérieur de la chaîne pour entourer l'intégralité de la chaîne. Qlik Sense utilise ensuite ce guillemet spécifique pour déterminer le début et la fin de la chaîne.
Il est possible d'entourer une chaîne entière entre les types de guillemets suivants :
- Guillemets doubles " "
- Crochets [ ]
- Accents graves ` `
- Guillemets simples ' '
[Table '1 "2"]
Les crochets servent à délimiter la chaîne. La chaîne est chargée sous la forme suivante : Table '1 "2"
'chaîne `Nom1` "Nom2'
Les guillemets simples servent à délimiter la chaîne. La chaîne est chargée sous la forme suivante : chaîne `Nom1` "Nom2
Utilisation de caractères d'échappement
Les caractères d'échappement sont une instance supplémentaire du guillemet utilisé pour entourer la chaîne. Ils doivent être ajoutés à côté de chaque instance du guillemet présent dans la chaîne. Lorsque tous les guillemets sont employés dans une chaîne, vous devez ajouter des caractères d'échappement à côté du type de guillemet utilisé pour entourer la chaîne. Les caractères d'échappement peuvent également servir dans le cas où vous souhaitez utiliser un type de guillemet déjà employé dans une chaîne.
Seuls les signes suivants peuvent être utilisés comme caractères d'échappement :
- Guillemets doubles " "
- Crochets [ ]
- Guillemets simples ' '
"Michel dit ""C'est une belle journée""."
Si vous entourez la chaîne à l'aide de guillemets doubles " ", vous devez ajouter un guillemet double à côté de chaque guillemet double utilisé à l'intérieur de la chaîne.
Cette chaîne est chargée sous la forme Michel dit "C'est une belle journée". Grâce à l'utilisation du caractère d'échappement "", l'éditeur de chargement de données de Qlik Sense sait quels guillemets doubles font partie de la chaîne et quel guillemet indique la fin de la chaîne. Le guillemet simple ' utilisé dans l'abréviation C'est n'a pas besoin d'être accompagné d'un caractère d'échappement, car il ne sert pas à entourer la chaîne.
'Michel dit : "C''est une belle journée".'
Si vous entourez cette chaîne à l'aide de guillemets simples, vous devez ajouter un guillemet simple à côté de chaque guillemet simple utilisé à l'intérieur de la chaîne.
Cette chaîne est chargée sous la forme Michel dit "C'est une belle journée". Les guillemets doubles " utilisés pour citer les paroles de Michel n'ont pas besoin d'être placés dans une séquence d'échappement, car ils ne servent pas à entourer la chaîne.
[Michel dit [C'est une "belle journée]].]
Les crochets [ ] ne se comportent pas de la même façon que les deux autres types de guillemets. Si vous souhaitez utiliser le crochet comme caractère d'échappement, vous devez uniquement doubler le crochet droit ], sans placer de crochet à côté du crochet gauche [.
Cette chaîne est chargée sous la forme Michel dit [C'est une "belle journée]. Seul le crochet droit ] est placé dans une séquence d'échappement. Le guillemet simple ' et le guillemet double " utilisés dans la chaîne n'ont pas besoin d'être placés dans une séquence d'échappement, car ils ne sont pas utilisés pour entourer la chaîne.