楼主: bluehaiku
4002 5

sas中,merge语句合并数据集的时候,用if logic 语句,来对变量进行重新定义 [推广有奖]

  • 10关注
  • 2粉丝

已卖:16份资源

讲师

75%

还不是VIP/贵宾

-

威望
0
论坛币
795 个
通用积分
14.0008
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
8765 点
帖子
212
精华
0
在线时间
639 小时
注册时间
2015-11-12
最后登录
2025-6-7

楼主
bluehaiku 发表于 2016-8-10 16:36:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题如图,谢谢各位 Image 002.jpg

二维码

扫码加我 拉你入群

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

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

关键词:Logic Merge 合并数据 数据集 GIC

Image 003.jpg (191.41 KB)

Image 003.jpg

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

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

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

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

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

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

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 03:44