Hello,
Je viens vers vous car je suis bloquée ça fait des heures :s.. Je vous explique je veux faire des comparaisons entre mes valeurs qui sont dans la macro RSA et les valeurs de la colonne Raison_sociale_acheteur_radiee. Je cherche pas à ce que ça match parfaitement d'où l'utilisation de la fonction complev() ( fuzzy). Je veux que pour la première valeur de la première macro variable je fasse une comparaison entre cette valeur et l'ensemble des valeurs de la colonne Raison_sociale_acheteur_radiee et ainsi de suite. . Ensuite, je veux que si la valeur result est inférieur à 6 alors output (PS: pour l'output si result <6 ça fonctionne bien ..)dans la table résultat avec comme colonne la valeur de la macro variable dans la colonne var , Raison_sociale_acheteur_radiee et la valeur de result.. sauf que quand je lance le programme dans la colonne var je n'ai que la valeur de la dernière macro variable, toutes les précédentes sont écrasées je ne sais pas comment faire. Quelqu'un a une idée? Voici le code
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
20
21
22 %macro test; %do i=1 %to 1; %let var=&&RSA&i; data resultat; attrib var length=$50. ; set doublons_radiees (keep=Raison_sociale_acheteur_radiee ); retain var; var = resolve('&&RSA&i'); result=complev(%upcase('&&RSA&i'), upcase(compress(Raison_sociale_acheteur_radiee,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','k'))); if result <6 then do; output ; end; run; %end; %mend; %test;
merciii beaucoup
Vaness
Partager