Accéder au contenu principal Passer au contenu complémentaire

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 caractères suivants doivent être utilisés comme guillemets pour les noms de champ et les noms de table :

Guillemets de l'instruction LOAD
Description du symbole Symbole Point de code Exemple

guillemets doubles

" " 34 "chaîne"
crochets [ ] 91, 93 [chaîne]
accents graves ` ` 96 `chaîne`

Et les caractères suivants doivent être utilisés comme guillemets pour les littéraux de chaîne :

Guillemets des littéraux de chaîne
Description du symbole Symbole Point de code Exemple
guillemets simples

' '

39 'chaîne'

Dans les instructions SELECT

Pour une instruction SELECT interprétée par le pilote ODBC, la procédure peut différer légèrement. 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 :

Guillemets de l'instruction SELECT
Description du symbole Symboles

Noms des champs et des tables :

[ ] ou " " ou ` `

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ù QlikView 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 QlikView "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 QlikView "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 textuelle "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. QlikView 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". L'utilisation du caractère d'échappement "" permet à l'éditeur de script QlikView de distinguer les guillemets doubles inclus dans la chaîne du guillemet qui indique la fin de la chaîne. Le guillemet simple ' présent dans l'abréviation C'est ne nécessite pas d'échappement, car il ne s'agit pas du caractère utilisé pour délimiter 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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com