Posez votre question Signaler

Boucle SAS If/Then/Else

informatique_pour_les_nuls 2Messages postés 17 juin 2010Date d'inscription 15 septembre 2010Dernière intervention - Dernière réponse le 15 sept. 2010 à 10:59
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
Lire la suite 

Boucle SAS If/Then/Else »

2 réponses
Ce document intitulé « Boucle SAS If/Then/Else » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?