楼主: lidanmeng
3515 4

问一个关于SAS中日期数据的问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

18%

还不是VIP/贵宾

-

威望
0
论坛币
12 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
623 点
帖子
29
精华
0
在线时间
37 小时
注册时间
2006-4-25
最后登录
2012-2-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请教各位了,SAS中的日期数据比如,2004-04-15,应该怎样转换为数值型的20040415?多谢了

二维码

扫码加我 拉你入群

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

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

关键词:日期数据 数值型 数据 SAS

回帖推荐

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

***1.Use informat to read in your data, so sas can understand it is a date value. ***2.sas stores this variable x as a numeric number, this number means how many day after 1960-1-1, the day SAS company was started. ***3.But if you don't use format, it won't print out like a data value '20040415'. ***4.There is 6 different yymmdd formats can help you to print x variable: yymmddb10. It means ' ...

shortsale 发表于2楼  查看完整内容

先提取,再合并,如year(x),month(x),date(x),

savagexu 发表于4楼  查看完整内容

不用这么麻烦了  date=compress(date,'-');  date1=input(date,yymmdd10.);  informat date1 yymmdd10.;  format date1 yymmdd10.;  drop date;  rename date1=date;  label date1='date';  将这段程序插进去就可以了,格式和属性都可以得到更改。

本帖被以下文库推荐

沙发
shortsale 发表于 2006-6-8 19:09:00 |只看作者 |坛友微信交流群
先提取,再合并,如year(x),month(x),date(x),
已有 1 人评分经验 论坛币 收起 理由
bakoll + 2 + 10 热心帮助其他会员

总评分: 经验 + 2  论坛币 + 10   查看全部评分

使用道具

藤椅
zzheng722 发表于 2007-2-17 03:49:00 |只看作者 |坛友微信交流群

***1.Use informat to read in your data, so sas can understand it is a date value.

***2.sas stores this variable x as a numeric number, this number means how many day after 1960-1-1, the day SAS company was started.

***3.But if you don't use format, it won't print out like a data value '20040415'.

***4.There is 6 different yymmdd formats can help you to print x variable:

yymmddb10. It means 'space', 2004 4 15

yymmddc10. It means 'colon', 2004:4:15

yymmddd10. It means 'hyphen', 2004-4-15 (This is default, it is the same as mmddyy10.)

yymmddn10. It means 'none' 20040415

yymmddp10. It means 'period' 2004.4.15

yymmdds10. It means 'slash' 2004/4/15

***5.You can also use other formats like: mmddyy10., mmddyy8., yymmn4., yyq4. (quarter of the year), monyy7. (Apr2004)...****;

data a;

input x : yymmdd10.;

cards;

2004-4-15

1960-1-2

2005-9-1

2007-2-14

2008?5?10

2001#1#1

;

run;

proc print data=a;

run;

data a_better;

format x yymmddn10.;

input x : yymmdd10.;

cards;

2004-4-15

1960/1/2

2005-9-1

2007-2-14

2008?5?10

2001#1#1

;

run;

proc print data=a_better;

run;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 2 + 10 热心帮助其他会员

总评分: 经验 + 2  论坛币 + 10   查看全部评分

使用道具

板凳
savagexu 发表于 2008-4-11 14:49:00 |只看作者 |坛友微信交流群

不用这么麻烦了

  date=compress(date,'-');
  date1=input(date,yymmdd10.);
  informat date1 yymmdd10.;
  format date1 yymmdd10.;
  drop date;
  rename date1=date;
  label date1='date';

  将这段程序插进去就可以了,格式和属性都可以得到更改。

已有 1 人评分经验 论坛币 收起 理由
bakoll + 2 + 10 热心帮助其他会员

总评分: 经验 + 2  论坛币 + 10   查看全部评分

使用道具

报纸
shj981222 发表于 2008-4-12 13:19:00 |只看作者 |坛友微信交流群
To be rong is fine, but to stay rong is unforgivable.

使用道具

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

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

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

GMT+8, 2024-5-22 19:45