Caractères génériques dans les données

Il est également possible d'utiliser des caractères génériques dans les données. Il existe deux caractères génériques : l'astérisque, interprété comme toutes les valeurs de ce champ, et un symbole facultatif, interprété comme toutes les valeurs restantes de ce champ.

L'astérisque

L'astérisque est interprété comme toutes les valeurs (listées) de ce champ, c'est-à-dire une valeur listée ailleurs dans cette table. S'il est utilisé dans l'un des champs système (USERID, PASSWORD, NTNAME ou SERIAL) dans une table chargée dans la Section Access du script, il est interprété comme toutes les valeurs possibles du champ (y compris celles qui ne figurent pas dans la liste).

L'astérisque n'est pas autorisé dans les fichiers d'informations. Il ne peut pas non plus être utilisé dans les champs clés, c'est-à-dire les champs servant à joindre des tables.

L'astérisque n'est pas disponible à moins d'être explicitement précisé dans l'instruction voulue. Pour en savoir plus sur la création d'une instruction star dans le script, voir Star.

OtherSymbol

Il est souvent nécessaire de prévoir une façon de représenter toutes les autres valeurs d'une table, c'est-à-dire toutes les valeurs qui n'ont pas été trouvées explicitement parmi les données chargées. Cela est possible à l'aide d'une variable spéciale appelée OtherSymbol. Pour définir le symbole OtherSymbol à traiter comme « toutes les autres valeurs », utilisez la syntaxe suivante :

SET OTHERSYMBOL=<sym>;

avant une instruction LOAD ou SELECT. <sym> peut représenter n'importe quelle chaîne.

Lorsque QlikView identifie le symbole défini dans une table interne, il l'interprète comme toutes les valeurs qui n'ont pas déjà été chargées dans le champ où il se trouve. Les valeurs trouvées dans le champ après le symbole OtherSymbol sont ainsi ignorées.

Pour réinitialiser cette fonctionnalité, utilisez :

SET OTHERSYMBOL=;

Exemple :  

Table Customers

CustomerID Name
1 ABC Inc.
2 XYZ Inc.
3 ACME INC
+ Undefined

Table Orders

CustomerID Name
1 1234
3 1243
5 1248
7 1299

Insérez l'instruction suivante dans le script avant le point où la première table ci-dessus a été chargée :

SET OTHERSYMBOL=+;

Toute référence à un CustomerID autre que 1, 2 ou 3, par exemple un clic sur OrderID 1299, aboutit au résultat Undefined sous Name.

Remarque: OtherSymbol n'est pas conçu pour servir à la création de jointures externes (outer joins) entre des tables.