楼主: 夭妖
25700 7

【请教】SAS时间提取年和月 [推广有奖]

  • 0关注
  • 0粉丝

已卖:4份资源

博士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
499 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
9933 点
帖子
222
精华
0
在线时间
371 小时
注册时间
2008-3-7
最后登录
2021-5-5

楼主
夭妖 发表于 2010-3-3 10:49:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设我有一组时间序列:
2009-12-14
2009-12-11
2009-12-10
2009-12-9
2009-12-8
2009-12-7
2009-12-4
2009-12-3
2009-12-2
2009-12-1
2009-11-30
2009-11-27
2009-11-26
2009-11-25
2009-11-24
2009-11-23
2009-11-20

想产生一列新的变量,提取出2009-12和2009-11这样的信息,应该怎么弄?

先谢谢各位的帮助了~
二维码

扫码加我 拉你入群

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

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

关键词:时间序列 怎么弄 请教 时间 SAS

回帖推荐

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

如果变量是数值型, you should use proper formats(many many of them) instead. :) 579 data _null_; 580 x='1jan2009'd; 581 put x= x= date9. x=yymm7.; 582 run; x=17898 x=01JAN2009 x=2009M01 NOTE: DATA statement used (Total process time): real time 0.25 seconds cpu time 0.00 seconds

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

x=substr(time,1,7)

本帖被以下文库推荐

沙发
waitalone11 发表于 2010-3-3 11:09:05
x=substr(time,1,7)
已有 1 人评分经验 收起 理由
bakoll + 3 精彩帖子

总评分: 经验 + 3   查看全部评分

藤椅
醉_清风 发表于 2010-3-3 11:31:08
如果变量是数值型的 还可以用year和month分别提取年和月再合并
从来不需要想起 永远也不会忘记

板凳
bobguy 发表于 2010-3-3 12:26:50
醉_清风 发表于 2010-3-3 11:31
如果变量是数值型的 还可以用year和month分别提取年和月再合并
如果变量是数值型, you should use proper formats(many many of them) instead. :)

579  data _null_;
580     x='1jan2009'd;
581     put x= x= date9. x=yymm7.;
582     run;

x=17898 x=01JAN2009 x=2009M01
NOTE: DATA statement used (Total process time):
      real time           0.25 seconds
      cpu time            0.00 seconds
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

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

报纸
willypan 发表于 2010-3-3 13:04:14
2# waitalone11
这个管用,再用个format就搞定了。

地板
soporaeternus 发表于 2010-3-3 13:10:25
bobguy 发表于 2010-3-3 12:26
醉_清风 发表于 2010-3-3 11:31
如果变量是数值型的 还可以用year和month分别提取年和月再合并
如果变量是数值型, you should use proper formats(many many of them) instead. :)

579  data _null_;
580     x='1jan2009'd;
581     put x= x= date9. x=yymm7.;
582     run;

x=17898 x=01JAN2009 x=2009M01
NOTE: DATA statement used (Total process time):
      real time           0.25 seconds
      cpu time            0.00 seconds
yymmd. 可能是最好的一个......哈哈
Let them be hard, but never unjust

7
醉_清风 发表于 2010-3-3 13:21:08
bobguy 发表于 2010-3-3 12:26
醉_清风 发表于 2010-3-3 11:31
如果变量是数值型的 还可以用year和month分别提取年和月再合并
如果变量是数值型, you should use proper formats(many many of them) instead. :)

579  data _null_;
580     x='1jan2009'd;
581     put x= x= date9. x=yymm7.;
582     run;

x=17898 x=01JAN2009 x=2009M01
NOTE: DATA statement used (Total process time):
      real time           0.25 seconds
      cpu time            0.00 seconds
学习了 谢谢
从来不需要想起 永远也不会忘记

8
夭妖 发表于 2010-3-3 21:08:09
学习了~谢谢楼上的几个~
{:3_62:}

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

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