全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4074 5
2016-08-10
问题如图,谢谢各位 Image 002.jpg

附件列表
Image 003.jpg

原图尺寸 191.41 KB

Image 003.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-10 17:03:53
Merge过程是两个数据集的记录进行合并,如果变量来自数据集,那么除了第一次之外,每次执行data步之前,变量在PDV里都不会初始化为空值,只会覆盖PDV里面各个变量之前留下的值。

在你的例子中,在第三次执行的时候,把数据集中的变量DEATHFL的值定义成了1,所以继续执行的时候,1就留了下来,代替了之前的0;

要避免这种错误,最好是定义一个新的变量,让新的变量等于1,这样在每次合并开始之前,新的变量并不是来自原来数据集的,PDV就会把这个变量初始化为空值,也就不会自动retain了。
二维码

扫码加我 拉你入群

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

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

2016-8-10 17:18:07
wwang111 发表于 2016-8-10 17:03
Merge过程是两个数据集的记录进行合并,如果变量来自数据集,那么除了第一次之外,每次执行data步之前,变量 ...
到位。
二维码

扫码加我 拉你入群

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

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

2016-8-10 17:20:11
wwang111 发表于 2016-8-10 17:03
Merge过程是两个数据集的记录进行合并,如果变量来自数据集,那么除了第一次之外,每次执行data步之前,变量 ...
或者在merge里面不再参与运算,再另写一个data也可以, 能避免很多其他这样或那样的错误。
二维码

扫码加我 拉你入群

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

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

2016-8-10 19:43:21
wwang111 发表于 2016-8-10 17:03
Merge过程是两个数据集的记录进行合并,如果变量来自数据集,那么除了第一次之外,每次执行data步之前,变量 ...
好的,谢谢了,太棒了
二维码

扫码加我 拉你入群

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

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

2016-8-12 10:16:19
wwang111 发表于 2016-8-10 17:03
Merge过程是两个数据集的记录进行合并,如果变量来自数据集,那么除了第一次之外,每次执行data步之前,变量 ...
学习了,今天也碰到了这样的一个问题!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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