全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3080 4
2014-10-03
悬赏 30 个论坛币 已解决
大概如下的样子
((a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t))
想依次在宏中调用字符串 (a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t),
并且每次在调用一个字符串的时候,分别调用里面的字符,比如第一个字符串的a b c d f。
循环结构什么的我都会
就是不知道该用哪个函数,以及该怎样取位置,谢谢

最佳答案

caibirdcnb 查看完整内容

%let aaa=%nrstr((a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t)); %macro test; %do i=1 %to 4; %put %sysfunc(compress(%scan("%sysfunc(translate(&aaa,' ','(,'))",&i,")"))); %end; %mend; %test
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-3 15:54:29
%let aaa=%nrstr((a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t));
%macro test;
%do i=1 %to 4;
%put %sysfunc(compress(%scan("%sysfunc(translate(&aaa,'  ','(,'))",&i,")")));
%end;
%mend;
%test

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-3 16:22:24
相当好啊                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-3 21:42:44
caibirdcnb 发表于 2014-10-3 17:10
%let aaa=%nrstr((a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t));
%macro test;
%do i=1 %to 4;
非常感谢您的热心帮助,能否分别写出调用字符串以及调用字符串里字符的代码。
我的步骤是先调用字符串,然后再把字符串里面的字符当做参数赋给data或者proc步,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-8 12:30:06
caibirdcnb 发表于 2014-10-3 15:54
%let aaa=%nrstr((a,b,c,d,f),(d,f,w,g),(q,t,y),(e,f,e,f,g,t));
%macro test;
%do i=1 %to 4;
高手,能否先把其中的一些字符串赋给一个宏变量,再取这个字符串宏变量里面的每个字符作为单个宏变量。十分感谢。就是类似把   naaa=(a,b,c,d,f)   然后naaa1=a, naaa2=b naaa3=c naaa=d naaa=f 这样   
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群