全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3190 6
2010-09-09
PROC IMPORT OUT= WORK.a1
            DATAFILE= "d:\My Documents\ssfz\hb1.xls"
            DBMS=EXCEL2000 REPLACE;
     SHEET="sheet1$";
     GETNAMES=YES;
RUN;
PROC IMPORT OUT= WORK.a2
            DATAFILE= "d:\My Documents\ssfz\hb2.xls"
            DBMS=EXCEL2000 REPLACE;
     SHEET="sheet1$";
     GETNAMES=YES;
RUN;
data a;
set a1(keep=gdp cpi);
if cpi>=110 then flag1=1;
else if cpi>105 then  flag1=2;
if flag1;
proc print data=a;
run;
data b;
set a2(keep=gdp cpi);
if gdp>28000 then flag2=3;
if flag2;
proc print data=b;run;

proc sort data=a;by gdp;run;
proc sort data=b;by gdp;run;
data c;
merge a(in=a) b(in=b);
by gdp;
if a or b;
if flag1=1 or 2 then flag=flag1;
else flag=3;
drop flag1 flag2;

run;
proc print data=c ;run;
二维码

扫码加我 拉你入群

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

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

全部回复
2010-9-9 23:12:28
if flag1=1 or 2 then flag=flag1;
恒成立
所以flag永远是flag1
不会有3
二维码

扫码加我 拉你入群

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

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

2010-9-9 23:16:14
2# soporaeternus
那应该怎么修改呢,原本应该是flag=3的结果显示为点。
二维码

扫码加我 拉你入群

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

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

2010-9-9 23:17:46
if flag1=1 or flag1=2 then flag=flag1;
二维码

扫码加我 拉你入群

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

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

2010-9-9 23:21:19
4# soporaeternus
高手!!!现在还有一个问题,就是我想把这个flag转换成文本的形式,比如原来是flag1=1,现在我想把它变为flag1='过高值等等',请问该怎么修改了?
二维码

扫码加我 拉你入群

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

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

2010-9-9 23:32:08
复制代码
一种是直接新建一个变量if flag1=1 then flag2="过高值等等";这样来赋值
还有种就是用format来做
上面给了个例子
希望对你有帮助
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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