全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1859 5
2013-12-15
悬赏 50 个论坛币 未解决
复制代码
如何先判断&vars是否含有逗号,如含有,将vars以逗号分隔符分为gender和1 2。谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-12-15 22:55:08
%macro aaa(vars=);
%let i=1;
%do %until (%qscan(%superQ(vars), &i., %str(,))=);
        %let var=%qscan(%superQ(vars), &i, %str(,));
            %put &var.;
        %let i=%eval(&i+1);
%end;
%mend;
%aaa(vars=gender,1 2);
二维码

扫码加我 拉你入群

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

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

2013-12-15 22:59:41
zw612003 发表于 2013-12-15 22:55
%macro aaa(vars=);
%let i=1;
%do %until (%qscan(%superQ(vars), &i., %str(,))=);
调用出错!
二维码

扫码加我 拉你入群

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

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

2013-12-16 02:04:34
%macro test (vars);
%if %index(&vars,%str(,))^=0 %then %do;
   %let i=1;
     %do %until (%scan(&vars,&i,%str(,))=);
           %let a=%scan(&vars,&i,%str(,));
           %put &a;
           %let i=%eval(&i+1);
     %end;
%end;
%else %put There is no comma in "&Vars";
%mend;

%test(%str(gender, 1 2))
%test(%str(gender 1 2))
二维码

扫码加我 拉你入群

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

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

2013-12-16 10:17:37
%macro aaa(vars=);
   %let j=1;
   %do %until (%qscan(%quote(&vars),&j,',')=);
      %let var=%qscan(%quote(&vars),&j,',');
          %put var&j. = &var;
          %let j=%eval(&j+1);
        %end;
%mend;
%aaa(vars=%quote(&vars.));

学习了%quote,%qscan,谢谢。
二维码

扫码加我 拉你入群

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

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

2013-12-16 21:23:50
dxystata 发表于 2013-12-15 22:59
调用出错!
用%aaa(vars=%str(gender,1 2));
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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