楼主: 管理考研
2412 7

SAS日期如何把比如2006-01-19变成2006-01这样的日期 [推广有奖]

  • 4关注
  • 1粉丝

已卖:2份资源

讲师

2%

还不是VIP/贵宾

-

威望
0
论坛币
5470 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
3891 点
帖子
130
精华
0
在线时间
649 小时
注册时间
2008-2-12
最后登录
2021-11-18

楼主
管理考研 发表于 2013-5-30 07:18:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在有个数据集cq.edate1,里面的日期变量trdmnt 为2006-01-19的形式,  如何生成新数据集cq.edate2,把trdmnt变量中的2006-01-19形式变成2006-01这样的形式啊  就是把年月日变成年月  拜求
二维码

扫码加我 拉你入群

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

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

关键词:date 日期变量 EDA ATE 数据集 如何

沙发
yongyitian 发表于 2013-5-30 08:20:19
data test;
   format date yymmdd10. date1 yymmd7.;
   input date yymmdd10.;
   date1 = date;
datalines;
2006-01-19
2006-01-20
2006-02-01
;
run;

藤椅
管理考研 发表于 2013-5-30 08:53:30
yongyitian 发表于 2013-5-30 08:20
data test;
   format date yymmdd10. date1 yymmd7.;
   input date yymmdd10.;
这个不起作用呀 还有别的方法没  谢谢啦

板凳
yongyitian 发表于 2013-5-30 09:06:41
管理考研 发表于 2013-5-30 08:53
这个不起作用呀 还有别的方法没  谢谢啦
data test;
    format date yymmdd10. date1 yymmd7.;
    format date2 $7.;
   input date yymmdd10.;
   date1 = date;
   date2 = substr(put(date,yymmdd10.),1,7);
datalines;
2006-01-19
2006-01-20
2006-02-01
;
proc print data=test; title 'Test date format: yyyy-mm '; run;

Dateformat.JPG
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Imasasor + 80 + 80 + 3 + 3 + 4 鼓励积极发帖讨论

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

报纸
knightinwind 发表于 2013-5-30 10:56:45
trdmnt是不是字符型的啊?这个试试。
data a;
set cq.edate1;
keep trdmnt yymm;
yymm=substr(trdmnt,1,7);
run;

地板
chaosxiao 发表于 2013-6-2 20:16:24
data test;
   input date $10.;
datalines;
2006-01-19
2006-01-20
2006-02-01
;
run;
data a;
set test;
new2=prxchange('s/(\d{4}-\d{2})-(\d{2})/$1/',-1,date);
run;

7
boe 发表于 2013-6-2 22:22:39
format date yymmd.;
Gorgeous girl , I love !

8
乾坤神龙 发表于 2013-6-3 15:17:21
先将日期转换为字符型变量,之后使用substr截取日期!!

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

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