Astuce : équivalent d’un CASE dans une instruction LOAD

L’instruction CASE n’existe pas et lorsque l’on souhaite tester les valeurs d’un champ dans un LOAD, il faut encapsuler des fonctions If() ce qui complexifie la lecture du code :

Employés:
LOAD If(Office=1,’Bureau 1′, If(Office=2,’Bureau 2′, If(Office=3, ‘Bureau 3’, If(Office=4, ‘Bureau 4’, ‘Bureau 5’)))),

Il est possible d’utiliser une table de mappage pour simplifier l’écriture :

Map_Office:
MAPPING LOAD * INLINE [
    Code, Libellé
    1, Bureau 1
    2, Bureau 2
    3, Bureau 3
    4, Bureau 4
    5, Bureau 5
];

Employés:
LOAD ApplyMap(‘Map_Office‘,Office) AS Office,


Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s