| 1 | %macro AHGautoformat(str,fmt,dlm=/,quote=); |
| 2 | %local fmtN; |
| 3 | %let fmtN=%AHGcount(&str,dlm=/); |
| 4 | %local i item; |
| 5 | %DO i=1 %to &fmtN; |
| 6 | %let item=%scan(&str,&i,&dlm); |
| 7 | %local value&i FORMAT&i; |
| 8 | %AHGpop(item,value&i); |
| 9 | %let FORMAT&i=&item; |
| 10 | %END; |
| 11 | PROC FORMAT; |
| 12 | value $&fmt |
| 13 | %DO i=1 %to &fmtN; |
| 14 | "&&value&i"="&&format&i" |
| 15 | %END; |
| 16 | ;RUN; |
| 17 | |
| 18 | |
| 19 | %mend; |