Je dois générer une macro qui crée une table SAS contenant une variable( la valeur de cette variable est une chaine de caractères avec un apostrophe), puis enregistrer le nombre de mots contenu dans la chaîne dans une macro-variable
Jai fais mon programme à l'aide d'une étape Data, et j'ai crée ma macro et ma macro-var mais j'arrive pas à récupérer le nombre exact de mots dans la chaîne de caractères.
le problème est qu'il compte pas le (L'). Du coup au lieu d'avoir 6 mots, j'ai 5 mots
Voici mon programme et son l’exécution !!!!!
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 327 %macro creetab2 (tab=,mot=); 328 data &tab; 329 mot="L'amour des chiffres sous sas"; 330 331 run; 332 %let chaine= %str(L%')amour des chiffres sous sas; 333 %LET nb_motss= %sysfunc(countw(&chaine)); 334 %put le nombre de mots:&nb_motss; 335 %mend; 336 %creetab2(tab=test6,mot=); NOTE: The data set WORK.TEST6 has 1 observations and 1 variables. NOTE: L'étape DATA used (Total process time): real time 0.00 secondes cpu time 0.01 secondes
le nombre de mots:5
Merci d'avance !!!!
le problème est qu'il compte pas le (L'). Du coup au lieu d'avoir 6 mots, j'ai 5 mots
Partager