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,


Répondre

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