全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5120 2
2010-03-22
sas PDV的工作。
当用input语句时,首先初始化pdv里的所有变量为缺失值(有retain 声明的变量除外),读入datalines的一行数据进入pdv,然后执行data步里的程序。
而用set、merge、update、或者modify语句时,在pdv里的变量值被保留,因而下面的第三个和第四个data程序的结果c表和d表不同。
data a;
  input code $6. name $;
datalines;
600019 你
600018 知
600035 道
run;
data b;
  input code $6. name $ name2 $;
datalines;
699999 我 你
600098 在 吗
600055 等 ?
run;
data c;
   set a;
   if _n_=1 then set b;
run;
data d;
   set a;
   if _n_=1 then input code $6. name $ name2 $;
datalines;
699999 我 你
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-20 16:28:28
LZ好像是为我提前解答的呀
刚看个程序就遇到这个问题。google一下sas pdv就到这了。哈哈

data percent;
   if _n_=1 then
      set chapt3.summary(keep=cargosum);
   set chapt3.empcount;
   pctemps=numemps/cargosum;
run;

我说这个cargosum后面怎么还能一直运算。原来set能保留pdv里的值呀
二维码

扫码加我 拉你入群

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

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

2013-2-26 17:09:04
看完楼主的示例豁然开朗啊!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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