SAS中文论坛
标题:
跟crackman读SAS程序(76)--SET KEY 的一个应用实例
[打印本页]
作者:
shiyiming
时间:
2010-10-22 13:20
标题:
跟crackman读SAS程序(76)--SET KEY 的一个应用实例
From crackman's blog
<p>data crackman1(index=(x));<br>
input x y z@;<br>
datalines;<br>
1 2 3<br>
4 5 6<br>
7 8 9<br>
10 11 12<br>
12 13 14<br>
;<br>
run;<br>
data crackman2;<br>
input x m n@;<br>
datalines;<br>
1 3 5<br>
7 8 5<br>
12 6 4<br>
;<br>
run;<br>
data crackman3;<br>
set crackman2;<br>
set crackman1 key=x;<br>
sum_all=sum(x,y,z,m,n);<br>
run;<br>
proc print;<br>
run;</p>
<p>如果把</p>
<p>data crackman3;<br>
set crackman2;<br>
set crackman1 key=x;<br>
sum_all=sum(x,y,z,m,n);<br>
run;<br>
proc print;<br>
run;</p>
<p>改成</p>
<p>data crackman3;<br>
set crackman1 key=x;</p>
<p>set crackman2;<br>
sum_all=sum(x,y,z,m,n);<br>
run;<br>
proc print;<br>
run;</p>
<p>会是什么结果呢?</p>
<p>解释如下:</p>
<p>如果现实SET CRACKMAN2,那么在编译时候先建立PDV,并且读入CRACKMAN2的一条观测进入PDV,等于说PDV里面的值不是默认为缺失值,接下来在读入crackman1里面的一条观测时,因为有KEY,所以先到KEY这个变量进行一个比较才决定要不要读入KEY变量之后的其余变量值,如果一开始是crackman1的一条观测,KEY只有跟PDV里面的默认缺失值比较了,肯定是不能出现结果的,所以该了之后的Y Z为缺失。这也是KEY的作用所在。</p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/b4048b06e641ca004afb5192.html">阅读全文</a>
<br/><b>类别:</b><a href="http://hi.baidu.com/crack%5Fman/blog/category/%B8%FAcrackman%B6%C1sas%B3%CC%D0%F2">跟crackman读sas程序</a> <a href="http://hi.baidu.com/crack%5Fman/blog/item/b4048b06e641ca004afb5192.html#comment">查看评论</a>
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2