楼主: freerunning_sky
1158 2

求问下面程序的局部宏调用 [推广有奖]

  • 0关注
  • 3粉丝

博士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
718 个
通用积分
1.9496
学术水平
14 点
热心指数
19 点
信用等级
11 点
经验
7309 点
帖子
210
精华
0
在线时间
375 小时
注册时间
2011-10-26
最后登录
2020-6-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. %macro Vtime(data,start,end,out);
  2.         proc contents data=&data. out=tmp noprint;run;
  3.         %macro next_mth(time);
  4.                 %let year=%eval(&time./100);
  5.                 %let mth=%eval(&time.-&year.*100);
  6.                 %let mth=%eval(&mth.+1);
  7.                 %if &mth>12 %then %do;
  8.                         %let mth=%eval(&mth.-12);
  9.                         %let year=%eval(&year.+1);
  10.                 %end;
  11.                 %if &mth.<10 %then %let mth=0&mth.;
  12.                 %if &year.<10 %then %let year=0&year.;
  13.                 &year.&mth.
  14.         %mend;
  15.         %let tmp_out=;
  16.         %let mon=&start.;
  17.         %do %while(&mon.<=&end.);
  18.                 proc sql noprint;
  19.                           select name into: tmp separated by ' '
  20.                           from tmp
  21.                          where name like "%_&mon.";
  22.                 quit;
  23.                 %let tmp_out=&tmp_out &tmp;
  24.                 %let mon=%next_mth(&mon.);
  25.         %end;
  26.         %let &out=&tmp_out;
  27. %mend;
  28. %Vtime(input,0701,0712,out);
  29. %put &out;
复制代码
谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:contents Content Macro print Start sql amp 程序 contents start

沙发
nomad5 发表于 2012-10-14 20:54:46 |只看作者 |坛友微信交流群
没明白你要表达什么?

使用道具

藤椅
getstory 发表于 2012-10-17 18:05:10 |只看作者 |坛友微信交流群
这样就可以输出了
%let out=%Vtime(temp1,0701,0702);

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 03:34