楼主: danziqi
1329 2

跪求:关于SAS日期转换问题 [推广有奖]

  • 1关注
  • 1粉丝

本科生

75%

还不是VIP/贵宾

-

威望
0
论坛币
41 个
通用积分
2.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1982 点
帖子
58
精华
0
在线时间
132 小时
注册时间
2010-9-25
最后登录
2022-6-28

楼主
danziqi 发表于 2015-1-5 21:05:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data indexfut;                                                       /*读取数据,也可以导入*/
        infile 'C:\SAS\Data\CSI300Index.csv' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=2 ;
        input DATE CLOSE HIGH LOW OPEN;
        /*format DATE yymmdd10.; 不可行*/
run;
proc print data = indexfut;                           
run;
proc contents data=fut nods ;   /*查看数据集所有变量类型*/
run;

*形如;
*Obs  DATE     CLOSE    HIGH   LOW    OPEN;
*1  20100416 3415.60 3488.00 3413.20 3450.00;
这是我通过CSV文件读入的四个变量,我现在想把数值型DATE转化为一般的日期格式,不知道怎么转换,希望各位大侠班帮忙。跪求。
我使用了下面两种的方法都不可行:
data fut;
        set indexfut;
        newdate=input(DATE, yymmdd10.);
run;
proc print data=fut;
run;
输出:
*Obs DATE CLOSE HIGH LOW OPEN newdate;
*1 20100416 3415.60 3488.00 3413.20 3450.00 -14333; 不可行

data fut;
  set futdaydata;
  format DATE yymmdd10.;
run;
proc print data=fut;
run;
输出:
*Obs DATE CLOSE HIGH LOW OPEN;
*1 ***** 3415.60 3488.00 3413.20 3450.00 ;   日期变成了星号*****


二维码

扫码加我 拉你入群

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

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

关键词:日期转换 delimiter missover contents Content contents

沙发
danziqi 发表于 2015-1-5 21:06:20
跪求各位大侠帮帮忙

藤椅
Liang10 发表于 2015-1-6 00:06:13 来自手机
danziqi 发表于 2015-1-5 21:06
跪求各位大侠帮帮忙
在print过程步用format语句试试?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 09:14