楼主: ciciwanghk
3485 12

[原创博文] 大家帮我看看sas编程有错没 [推广有奖]

11
jingju11 发表于 2010-12-2 03:50:18
1# ciciwanghk

  1. data test ;
  2. input datetime datetime18. ;
  3. date = datepart(datetime); time = timepart(datetime);
  4. if date > '01Oct1949'd then status  = 'new China';
  5. if time < '12:00't then day = 'morning';
  6. format datetime datetime20. date date9. time time5.;
  7. cards;
  8. 04jul1776:12:00
  9. 11dec1941:23:00
  10. 20apr1971:00:00
  11. 25dec2000:15:01
  12. ;
复制代码
救人一命。。。
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
boe + 1 + 1 + 1 七级浮屠
论坛数据分析 + 1 + 1 心肠好!

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

12
ciciwanghk 发表于 2010-12-3 09:50:27
11# jingju11
data a ;
input datetime datetime18. ;
format datetime datetime20.;
cards;
04jul1776:11:00
11dec1941:10:00
20apr1971:13:50
25dec2000:15:01
;
run;
data b;
set a;
time=timepart(datetime);
if time < '12:00't then time = 'morning';
else if time>'13:00't then time='afernoon';
run;
大侠帮我看看吧;我要把time从时间型换成字符型 怎么办啊

13
baoaibaobao 发表于 2010-12-3 10:57:51
12# ciciwanghk
time时间是以数值型储存的,所以要想将time由时间转换为字符,直接写入'morning'和'afternoon'是不行的。

  1. data b(drop=time rename=(day=time));
  2. set a;
  3. format day $8.;
  4. time=timepart(datetime);
  5. if time < '12:00't then day = 'morning';
  6. else if time>'13:00't then day='afernoon';
  7. run;
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 23:06