bonjour,
j'ai developpé une macro qui a pour but d'identifier toutes les données manquantes relatives à chaques variables de plusieurs tables
lorsque j'execute le code je n'ai aucun message d'erreur mis à part ces commentaires
mais lorsque j'affiche la table je constate que le traitement ne s'est pas fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 NOTE: Invalid numeric data, 'ko' , at line 19 column 5. NOTE: Invalid numeric data, 'ok' , at line 18 column 236. NOTE: Invalid numeric data, 'ko' , at line 19 column 5. NOTE: Invalid numeric data, 'ko' , at line 19 column 5. NOTE: Invalid numeric data, 'ko' , at line 19 column 5. NOTE: Invalid numeric data, 'ko' , at line 19 column 5. NOTE: Invalid numeric data, 'ok' , at line 18 column 236. NOTE: Invalid numeric data, 'ok' , at line 18 column 236. NOTE: Invalid numeric data, 'ok' , at line 18 column 236. NOTE: Invalid numeric data, 'ok' , at line 18 column 236. NOTE: Invalid numeric data, 'ok' , at line 18 column 236.
pouvez vous m'aider
voilà la macro
merci d'avance
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
23
24
25
26
27
28
29
30
31
32
33
34 %macro missingvalues(tabs); %do i=1 %to %EVAL(%SYSFUNC(count(%cmpres(&tabs.),%STR( )))+1); %let table=%scan(&tabs,&i,' '); %let table_bis=d_&table; proc contents data=&table out=desc_&table; run; proc sql noprint; select name,cats(name,'_d') into: var_&table separated BY ' ' , : var2_&table separated BY ' ' from desc_&table where name <> "CESSAI"; quit; DATA Fine5.&table_bis (keep= CESSAI &&var2_&table drop=i); set &table; array var {*} &&var_&table; array var_d {*} &&var2_&table; do i=1 to dim(var); if not missing(var{i}) then var_d{i}="ok"; else var_d{i}="ko"; end; run; PROC datasets lib=work nolist nowarn nodetails ; DELETE desc:; RUN; %end; %mend;
Partager