全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1629 2
2010-10-21
转载博客:http://crackman.net/
data crackman1(index=(x));
input x y z@;
datalines;
1 2 3
4 5 6
7 8 9
10 11 12
12 13 14
;
run;
data crackman2;
input x m n@;
datalines;
1 3 5
7 8 5
12 6 4
;
run;
data crackman3;
set crackman2;
set crackman1 key=x;
sum_all=sum(x,y,z,m,n);
run;
proc print;
run;
如果把
data crackman3;
set crackman2;
set crackman1 key=x;
sum_all=sum(x,y,z,m,n);
run;
proc print;
run;
改成
data crackman3;
set crackman1 key=x;
set crackman2;
sum_all=sum(x,y,z,m,n);
run;
proc print;
run;
会是什么结果呢?
解释如下:
如果现实SET CRACKMAN2,那么在编译时候先建立PDV,并且读入CRACKMAN2的一条观测进入PDV,等于说PDV里面的值不是默认为缺失值,接下来在读入crackman1里面的一条观测时,因为有KEY,所以先到KEY这个变量进行一个比较才决定要不要读入KEY变量之后的其余变量值,如果一开始是crackman1的一条观测,KEY只有跟PDV里面的默认缺失值比较了,肯定是不能出现结果的,所以该了之后的Y Z为缺失。这也是KEY的作用所在。
二维码

扫码加我 拉你入群

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

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

全部回复
2010-10-21 11:59:40
好吧,跟着crackman读吧……
二维码

扫码加我 拉你入群

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

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

2010-10-21 12:17:42
需要时间啊,哎,造诣还不够啊啊
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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