请选择 进入手机版 | 继续访问电脑版
楼主: bluehaiku
3473 5

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

  • 10关注
  • 2粉丝

讲师

73%

还不是VIP/贵宾

-

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

bluehaiku 发表于 2016-8-10 16:36:00 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

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


二维码

扫码加我 拉你入群

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

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

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

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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 09:12