Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
je veux diffusionner un champs sur deux sous une condition.
LOAD CODE,
SPECIALITE,
LIBELLE,
if(SPECIALITE=19 ,CODE ) as CODE_CHIRUGIEN ,
if(SPECIALITE=02,CODE ) as CODE_ANESTHESISTE
FROM
(qvd);
J'ai utilisé ce script et ça marche pas toujours il me donne CODE dans CODE_CHIRUGIEN sans vérifier la condition.
Merci .
As-tu essayé en mettant entre quotes ?
if(SPECIALITE='02',CODE ) as CODE_ANESTHESISTE
Bonjour Chadlia,
peux-tu nous transmettre un jeu de données ? est-ce normal qu'il n'y a pas de chemin vers un qvd ?
Sinon essaie peut-être de mettre entre quote tes chiffres ?
Exemple : if(SPECIALITE='19',CODE ) as CODE_CHIRUGIEN
Kevin
Je te conseille de faire 2 chargements :
TABLE_TEMP_1:
LOAD CODE,
SPECIALITE,
LIBELLE,
CODE as CODE_CHIRUGIEN
FROM
(qvd)
where SPECIALITE=19;
TABLE_TEMP_2:
LOAD CODE,
SPECIALITE,
LIBELLE,
CODE as CODE_ANESTHESISTE
FROM
(qvd)
where SPECIALITE=02;
TABLE:
LOAD *
RESIDENT TABLE_TEMP_1;
join
LOAD *
RESIDENT TABLE_TEMP_2;
DROP TABLE TABLE_TEMP_1;
DROP TABLE TABLE_TEMP_2;
Chadlia,
Pour info je n'arrive pas à reproduire ton erreur. Es-tu sûr que tes données ne sont pas égales à 19 ?
Comment as-tu fait ta vérification ? Tu peux faire ta vérification dans une "zone table"...
Peux-tu nous transmettre à minima des copies d'écran avec des exemples ?
Merci
Kevin
Bonjour kevin,
si j'en ai le chemin juste je l'ai supprimé .
le probleme il existe une jointure de CODE.
Voila les deux tables :
specialite:
LOAD CODE,
SPECIALITE,
LIBELLE ,
if(SPECIALITE=19 ,CODE ) as CODE_CHIRUGIEN ,
if(SPECIALITE=02,CODE ) as CODE_ANESTHESISTE
FROM
(qvd);
medecin:
LOAD
NUMDOS as NDP,
L3MED as CODE
FROM
(qvd);
1) Soit tu ne veux pas faire la fusion et tu renommes ton deuxième champ code comme ceci :
specialite:
LOAD CODE,
SPECIALITE,
LIBELLE ,
if(SPECIALITE=19 ,CODE ) as CODE_CHIRUGIEN ,
if(SPECIALITE=02,CODE ) as CODE_ANESTHESISTE
FROM (qvd);
medecin:
LOAD
NUMDOS as NDP,
L3MED as CODE_AUTRES
FROM (qvd);
2) Soit tu veux les lier :
specialite_temp:
LOAD CODE,
SPECIALITE,
LIBELLE
FROM (qvd);
left join
LOAD
L3MED as CODE,
NUMDOS as NDP
FROM (qvd);
specialite :
Load *,
if(SPECIALITE=19 ,CODE ) as CODE_CHIRUGIEN ,
if(SPECIALITE=02,CODE ) as CODE_ANESTHESISTE
Resident specialite_temp;
drop table specialite_temp;
Kevin
Cependant, je ne vois pas où est le problème puisque tu charges dans 2 tables différentes...
Kevin
Dans ton LOAD qui permet de générer le QVD, il faudrait peut-être que tu fasses :
num(SPECIALITE) as SPECIALITE
car il est possible que tu aies des espaces que tu ne vois pas
Kevin
Bonjour kevin,
Oui j'en ai des codes à la spécialité 02 et 19. J'ai essayé ton deuxième script mais toujours il y a problème.
voila mon jeu de données.
!
Chadlia,
C'est normal que tu n'as pas de code_anesthesiste car tu as la clause where SPECIALITE=19 dans ton chargement.