Bonjour a tous,
J'ai une liste de 226 codes a verifier dans un fichier de 66000000 de lignes.
Je recupere mes codes a tester :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 proc sql noprint; select Country_name into: ctry_list separated by ', ' from strucf.Country_list_wipo_sect3; quit;
Puis j'extrais les codes qui ne correspondent pas à ma liste de valeurs que contient ma macro variable &ctry_list :
voici mon LOG:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 data zzzzz; set table; if AUTH not in (&ctry_list.) then output; run;
J'ai testé la longueur de ma macro var :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 49 49 5 ! 'SH', 'SI', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'ST', 'SV', 'SY', 'SZ', 'TC', 'TD', 'TG', 5 ! 'TH', 'TJ', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', NOTE: Line generated by the macro variable "CTRY_LIST". 6 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VN', 'VU', 'WO', 'WS', 'XN', 'YE', 'ZA', ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 49 49 49 49 49 49 49 49 49 49 49 49 49 49 6 ! 'ZM', 'ZW NOTE 49-169: The meaning of an identifier after a quoted string may change in a future SAS release. Inserting white space between a quoted string and the succeeding identifier is recommended.
LOG:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 %let longueur = %length(&ctry_list) ; %put &longueur ;
est ce qu'une macro vavriable est limitée en caractere ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 25078 %put &longueur ; SYMBOLGEN: Macro variable LONGUEUR resolves to 1352 1352
Connaissez vous une solution ?
merci d'avance ;-)
Partager