请选择 进入手机版 | 继续访问电脑版
楼主: xiamiyouyu
15905 19

SAS字符型月数据如何转换成日期型 [推广有奖]

  • 0关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
52 点
帖子
6
精华
0
在线时间
7 小时
注册时间
2014-10-14
最后登录
2016-2-18

xiamiyouyu 发表于 2014-12-1 18:41:52 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如2008-01,是字符型的,如何把它转成日期型的,这样-1它才能自动变成2007-12

我知道如果是2008-01-02的话,可以用
format date yymmdd10.;
date=input();

来做。

但是关键是月度的话,就跑不出来,求高手解答,谢谢!!
二维码

扫码加我 拉你入群

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

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

关键词:日期型 字符型 月数据 format Input 如何

Tigflanker 发表于 2014-12-1 19:11:38 |显示全部楼层 |坛友微信交流群
日期计算用intnx函数。

  1. data _null_;
  2.   noday = '2007-12';

  3.   impute = intnx('month',
  4.                  input(cats(noday,'-01'),anydtdte21.),
  5.                  0,'end');

  6.   put impute yymmdd10.;
  7. run;
复制代码

使用道具

xiamiyouyu 发表于 2014-12-1 19:52:13 |显示全部楼层 |坛友微信交流群
Tigflanker 发表于 2014-12-1 19:11
日期计算用intnx函数。
您好,非常感谢您的回复。

可能是我表述不太清楚,我其实不需要日期计算,只是希望能把字符型的“2009-01”转换成日期型格式的“2009-01”,也就是说双击它出现的格式应该是类似yymmn6.或者yymmd7.这样的。

我已经想的焦头烂额了,请再指教,谢谢!

使用道具

xiamiyouyu 发表于 2014-12-1 19:58:45 |显示全部楼层 |坛友微信交流群
Tigflanker 发表于 2014-12-1 19:11
日期计算用intnx函数。
我原本的表格里面有一列月度的日期,我用:

data test;
set test;
format date yymmn6.;
date=input(noday,yymmn6.);
run;

运行错误,没有办法把字符型的“2009-01”变成日期型的格式

使用道具

Tigflanker 发表于 2014-12-1 20:33:09 |显示全部楼层 |坛友微信交流群
xiamiyouyu 发表于 2014-12-1 19:58
我原本的表格里面有一列月度的日期,我用:

data test;
好像没有听说只有年和月的日期格式,你在哪有见过吗?

感觉用一号来填补不行吗?或者说你的整体打算是什么?

使用道具

mingfeng07 学生认证  发表于 2014-12-1 22:25:00 |显示全部楼层 |坛友微信交流群
  1. data _null_;
  2. a="2001-01";
  3. b=input(compress(a,'-'),yymmn6.);
  4. format b yymmd.;
  5. put b=;
  6. run;
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
魏小鑫 + 1 + 1 + 1 精彩帖子
Tigflanker + 5 + 3 + 3 + 3 观点有启发

总评分: 论坛币 + 5  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

使用道具

xiamiyouyu 发表于 2014-12-1 22:40:40 |显示全部楼层 |坛友微信交流群
mingfeng07 发表于 2014-12-1 22:25
太棒啦!!这就是我要的结果!!

非常感谢!!

使用道具

xiamiyouyu 发表于 2014-12-1 22:41:58 |显示全部楼层 |坛友微信交流群
Tigflanker 发表于 2014-12-1 20:33
好像没有听说只有年和月的日期格式,你在哪有见过吗?

感觉用一号来填补不行吗?或者说你的整体打算是 ...
谢谢您的及时解答,刚刚看到楼下的mingfeng07 已经解决了我的疑惑,谢谢您的热心!!

使用道具

teqel 发表于 2014-12-1 23:23:47 |显示全部楼层 |坛友微信交流群
mingfeng07 发表于 2014-12-1 22:25
这个好。但是不知道为什么YYMMD7.不工作,奇怪啊
  1. DATA A;
  2. AA="2008-01";
  3. BB=INPUT(AA,YYMMD7.);
  4. RUN;
复制代码
BB显示是missing value

使用道具

mingfeng07 学生认证  发表于 2014-12-2 00:06:22 |显示全部楼层 |坛友微信交流群
teqel 发表于 2014-12-1 23:23
这个好。但是不知道为什么YYMMD7.不工作,奇怪啊BB显示是missing value
恩,我也尝试过,yymmd.格式应该是适合yyyy-mm这种时间的,但是放到input里面就用不了了,可以问问论坛里的大神。

使用道具

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

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

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

GMT+8, 2024-3-29 15:34