全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2526 5
2008-08-20
各位朋友,先谢谢了!
问题是这样的,一个数据库中某一个变量如group可有两个值,A、B,也可有三个值:A、B、C。
现希望根据group不同的取值选择不同的分析程序,如若group取A、B选择程序1执行,若group取A、B、C选择程序2来执行。用什么方法来自动选择呢?
请朋友们赐教!谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2008-8-20 18:33:00
那你怎么确定你的那个变量的取值 为A时, 是用那个程序?我可以认为是AB的,也可以认为是ABC啊
二维码

扫码加我 拉你入群

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

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

2008-8-21 09:22:00

谢谢birdnick的回复,您说的很对,不排除您讲的这种情况。

我说的数据库在数据输入时设定的group变量为字符型,长度为1,且最多取3个变量,即A、B、C,所以只能是A、B、C了,我提问题时没有阐述清楚。

二维码

扫码加我 拉你入群

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

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

2008-8-21 10:21:00
高明的没有,我弄出来个取巧的法,也不知道我有没有理解错误。
首先你要对group排序,
%macro create(dbn,dbo);
data &dbn;
set &dbo end=final;
groupl=lag(group);
if group^=groupl then n+1;
if final then call symput('number',n);
run;
%mend create;
%macro choice(q,p);
%create(new,old);
%if %eval(&number)=%eval(&q) %then %pro1(a);
  %else %if %eval(&number)=%eval(&p) %then %pro2(b);
%mend choice;
%choice(2,3);


这样应该就能按你说的 根据group 里面不同数, 选择不同程序。

[em01]
二维码

扫码加我 拉你入群

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

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

2008-8-22 17:39:00
谢谢Rain958的回复!我运行您提供的程序怎么不能通过,我还没有搞明白,谢谢您了!
二维码

扫码加我 拉你入群

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

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

2008-8-23 20:54:00
U 're so nice
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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