Bonjour,
J'ai un table avec une colonne A. Je voudrais, pour chaque ligne de cette table, vérifier si la valeur de la colonne A contient au moins un mot d'une liste de valeurs que j'ai en macro-variable.
J'ai un code qui ressemble à ceci :
J'aimerais sortir de la boucle dès que le flag vaut 1, et non attendre qu'elle scanne toutes les valeurs des macro-variables s'il a déjà trouvé une correspondance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 %macro test data table_entree; %let i =1; %do %while(&i< &nb_macro) /* &nb_macro = le nombre de macro variables */ if index(a, "&¯ovariable_&i.")> 0 then flag = 1; %let i = %eval(&i+1); %end; run; %mend;
Auriez-vous une idée de comment faire ? J'ai essayé d'initialiser une macro-variable si le flag est à 1, puis d'ajouter cette macro-variable dans la boucle while, mais ça ne marche pas, la macro variable n'est initialisée qu'à la sortie de la boucle il me semble.
Merci d'avance.
Partager