楼主: video1243
3415 7

[问答] SAS SQL 怎么实现条件赋值 [推广有奖]

  • 0关注
  • 0粉丝

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
306 个
通用积分
0
学术水平
2 点
热心指数
4 点
信用等级
2 点
经验
418 点
帖子
39
精华
0
在线时间
72 小时
注册时间
2011-3-5
最后登录
2022-3-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位,想用sql实现:如果类型为a,则初步时间=最终时间,否则,初步时间不变?


类型初步时间最终时间
a

2017/1/1

2017/3/1

a

2017/1/2

2017/3/2

a

2017/1/3

2017/3/3

b

2017/1/4

2017/3/4

b

2017/1/5

2017/3/5


二维码

扫码加我 拉你入群

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

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

关键词:sql

回帖推荐

albusdzx 发表于5楼  查看完整内容

data a; input type $ initialtime yymmdd10. finaltime yymmdd10.; cards; a 2017/1/1 2017/3/1 a 2017/1/2 2017/3/2 a 2017/1/3 2017/3/3 b 2017/1/4 2017/3/4 b 2017/1/5 2017/3/5 ; proc sql; select type,finaltime,case when type='a' then finaltime else initialtime end as initime from a; quit;

popodan 发表于3楼  查看完整内容

用update set实现: data a; input type $ initime yymmdd10. finaltime yymmdd10.; cards; a 2017/1/1 2017/3/1 a 2017/1/2 2017/3/2 a 2017/1/3 2017/3/3 b 2017/1/4 2017/3/4 b 2017/1/5 2017/3/5 ; run; proc sql; update a as a set initime=finaltime where type='a'; quit;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
eijuhz + 2 + 2 + 2 鼓励积极发帖讨论

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

沙发
video1243 发表于 2017-7-19 20:26:57 |只看作者 |坛友微信交流群
我本想用case,但不行:

case type when a  then 初步时间=最终时间

使用道具

藤椅
popodan 在职认证  发表于 2017-7-20 01:49:19 |只看作者 |坛友微信交流群
用update set实现:
data a;
input type $ initime yymmdd10. finaltime yymmdd10.;
cards;
a 2017/1/1 2017/3/1
a 2017/1/2 2017/3/2
a 2017/1/3 2017/3/3
b 2017/1/4 2017/3/4
b 2017/1/5 2017/3/5
;
run;

proc sql;
update a as a
set initime=finaltime
where type='a';
quit;
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

板凳
video1243 发表于 2017-7-20 12:24:11 |只看作者 |坛友微信交流群
popodan 发表于 2017-7-20 01:49
用update set实现:
data a;
input type $ initime yymmdd10. finaltime yymmdd10.;
非常感谢,请移步https://bbs.pinggu.org/thread-5859832-1-1.html,我给你设置最佳答案

使用道具

报纸
albusdzx 发表于 2017-7-20 14:13:51 |只看作者 |坛友微信交流群
data a;
input type $ initialtime yymmdd10. finaltime yymmdd10.;
cards;
a 2017/1/1 2017/3/1
a 2017/1/2 2017/3/2
a 2017/1/3 2017/3/3
b 2017/1/4 2017/3/4
b 2017/1/5 2017/3/5
;
proc sql;
select type,finaltime,case
when type='a' then finaltime
else initialtime end as initime
from a;
quit;

使用道具

地板
video1243 发表于 2017-7-20 23:26:52 |只看作者 |坛友微信交流群
albusdzx 发表于 2017-7-20 14:13
data a;
input type $ initialtime yymmdd10. finaltime yymmdd10.;
cards;
谢谢,原来case可以这么用!!

使用道具

7
video1243 发表于 2017-7-21 02:46:22 |只看作者 |坛友微信交流群
albusdzx 发表于 2017-7-20 14:13
data a;
input type $ initialtime yymmdd10. finaltime yymmdd10.;
cards;
再次非常感谢!

使用道具

8
video1243 发表于 2017-7-21 10:51:38 |只看作者 |坛友微信交流群
albusdzx 发表于 2017-7-20 14:13
data a;
input type $ initialtime yymmdd10. finaltime yymmdd10.;
cards;
你好,请问,关于sas sql或sql,有什么推荐的书或视频吗?要中文的。十分感谢!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-5-11 05:38