全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9753 9
2011-07-14
各位高手好,我现在遇到一个问题,sql如何实现 sas中retain的功效。比如有这样一个数据集A;
X1 X2
01 10
01 .
01 .
01 20
01 .
02 100
02 .
02 120
02 .
02 140
02 .
;

把上面空的值都用上一个数替换,用sas的retain很方便,但是用SQL怎么实现啊。

谢谢大牛!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-14 12:13:06
复制代码
费劲啊,求简化
二维码

扫码加我 拉你入群

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

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

2011-7-14 12:25:31
data a;
input X1 $  X2;
if ^missing(x2) then flag+1;
cards;
01 10
01 .
01 .
01 20
01 .
02 100
02 .
02 120
02 .
02 140
02 .
;

proc sql;
   create table b as
     select x1,max(x2) as x2
         from a
         group by flag;
quit;

也要借助其他变量。
二维码

扫码加我 拉你入群

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

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

2011-7-14 13:33:46
3# pobel

您好,有几个问题,
1. 这里还是使用了SAS,我只想用SQL程序,用sql_server软件做,没法使用SAS程序;
2. 如果x2是字符型的应该怎么弄。

谢哈
二维码

扫码加我 拉你入群

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

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

2011-7-14 13:40:25
思路是类似的
就是连接缺失值之前最近的一条非缺失值
和变量类型无关
二维码

扫码加我 拉你入群

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

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

2011-7-14 14:18:49
5# soporaeternus
单用SQL怎么实现啊
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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