全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1210 1
2014-06-21
Program1
data newbank;
set bank;
set bank;
run;

Program2

data newbank (drop=i);
do i=1 to 2;
set bank;
end;
run;


Why these two programs produce different data sets? The dataset bank has two observation,  newbank produced by program 1 has two observation, but the newbank produced by program 2 has only one observation.  






二维码

扫码加我 拉你入群

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

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

全部回复
2014-6-21 10:54:00
这个问题你需要理解PDV的运行机制,需要碰见OUTPUT或者run PDV内存储的那些个东西才会输出。第一个程序首先set bank  PDV是bank的第一个观测假设为1 接着又set bank 因为变量名相同被替代 所以pdv内还是1 run输出第一条观测。。。接着再读第二条观测输出第二条。所以程序1只用两条观测。对于程序2 首先进入do循环 读取bank的第一条观测,PDV为1 因为没output不输出 继续循环继续set bank读取bank的第二条观测 PDV被替换为2 循环结束。。run输出第二条观测
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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