楼主: crackman
1449 2

[原创博文] 跟crackman读SAS程序(76)--SET KEY 的一个应用实例 [推广有奖]

院士

83%

还不是VIP/贵宾

-

威望
6
论坛币
91908 个
通用积分
23.3245
学术水平
424 点
热心指数
505 点
信用等级
256 点
经验
113002 点
帖子
2948
精华
0
在线时间
2529 小时
注册时间
2007-4-26
最后登录
2024-4-23

初级热心勋章 中级热心勋章 初级学术勋章 初级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
转载博客: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的作用所在。
二维码

扫码加我 拉你入群

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

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

关键词:crackman Ackman sas程序 CRACK 应用实例 程序 博客

沙发
数风代韵 发表于 2010-10-21 11:59:40 |只看作者 |坛友微信交流群
好吧,跟着crackman读吧……

使用道具

藤椅
dangxiao123 发表于 2010-10-21 12:17:42 |只看作者 |坛友微信交流群
需要时间啊,哎,造诣还不够啊啊

使用道具

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

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

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

GMT+8, 2024-5-10 04:39