freerunning_sky 发表于 2014-9-9 16:34
额,这个就是从&index中一个一个单词读出来啊,你会写上面那段代码,难道不知道什么意思么。。。
高手,你好,非常感谢经常出手相助,再请教一个,我又增加了一个mark的字符串系列,跟index的是对应的,我现在想实现的功能是在调用index里的数据集的时候,想调用对应位置的mark.比如age9调用的是dgsvotflag,netppediva调用的是downflag,bm对应dbmflag等。
请问该怎样写主体外部的循环结构,非常感谢
- %macro picword(indexstring=,mark=,delim=%str(,));
- ods rtf;
- %let i=1;
- %do %while(%scan(%quote(&indexstring),&i,%quote(&delim)) ne );
- %let Nindexstring=%scan(%quote(&indexstring),&i,%quote(&delim));/*为什么必须加上这一句*/
- /*程序处理主体
- proc gplot data= &Nindexstring.num6;
- plot &Nindexstring.pct*date=&mark/hminor=0 legend=legend99 vaxis=0 to 0.5 by 0.1;
- symbol1 v=diamond i=join c=blue;
- symbol2 v=star i=join c=red;
- symbol3 v=square i=join c=yellow;
- run;
- */
- %let i=%eval(&i+1);
- %end;
- ods rtf close;
- %mend;
- %picword(index=%str(age9 , netppediva , bm ,gsdiva, efdiva),mark=%str(dgsvotflag,downflag, dbmflag ,dgsdivaflag, defdivaflag),delim=%str(,));
复制代码