Bonjour,

J'ai un problème avec une succession de if - else if :

j'ai la table suivante Feed1:

FEED1.xlsx

j'ai le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
data error_feed;
set feed1;
if treatment='T1' and Conso_P2<>'0' or Conso_P3<> '0' or Conso_P4<>'0' then error='error';
else if treatment='T2' and Conso_P1<>'0' or Conso_P3<> '0' or Conso_P4<>'0' then error='error';
else if treatment='T3' and Conso_P1<>'0' or Conso_P2<> '0' or Conso_P4<>'0' then error='error';
else if treatment='T4' and Conso_P1<>'0' or Conso_P2<> '0' or Conso_P3<>'0' then error='error';
else do ;
end;
run;
Je souhaite faire apparaitre une erreur si la colonne Conso_P1 ou P2 ou P3 ou P4 contient des éléments (>0), alors que ça ne correspond pas au traitement demandé (P1 = T1, P2 = T2, ...).
il doit manquer quelque chose dans mon code, car cela fonctionne bien pour la 1ère ligne concernant le T1, mais dès que je passe à T2, T3 ou T4, il considère que tout est en erreur (voir fichier sortie error_feed).
ERROR_FEED.xlsx

Merci de votre aide !

Bonne journée