Bonsoir à tous et à toutes,
Voilà mon problème :
Dans un programme sas, je répète plusieurs fois la même partie du programme (sans avoir utilisé de boucle car je ne suis pas parvenu à la faire...) Une table A contient une liste d'individu à analyser. Au fur et à mesure du programme, cette table diminue car les individus ne convenant pas aux critères sont éliminés.
Cependant à la fin du programme je dois en repêcher certains pour parvenir à un nombre suffisant d'individus.
Dans une table B j'ai la liste complète de l'ensemble des individus à analyser. Mais ne sachant pas ou la liste A est complètement vide, j'ai écrit (ou plutôt bidouillé) ce bout de code !!!
DATA B; SET B;
length NUM 3.; NUM=0;
RUN;
DATA A; SET A;
length NUM 3.; NUM=1;
RUN;
DATA LISTE; SET A B;
RUN;
data A; SET LISTE;
IF NUM = 1 THEN ; data A; SET LISTE ; where NUM =1;
ELSE IF NUM = 0 ; data A ; SET LISTE ; where NUM =0;
RUN;
Mais un message d'erreur apparait mais je ne vois pas quoi faire (au niveau du ELSE IF) :
ERREUR 160-185: Pas de clause IF-THEN assortie.
Objectifs:
- Dans table A et B , il y a 10 individus (par exemple)
- Le bout de code doit permettre de faire si dans table A, le nombre d'individus est compris entre 0 et 10 continuer l'analyse avec table A sinon faire une nouvelle table (la table B) et reprendre l'analyse.
Merci d'avance pour votre aide
