楼主: winnie6
5100 3

请教sas字符变量如何转化为日期变量的问题 [推广有奖]

  • 0关注
  • 0粉丝

学前班

70%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
0.0102
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
71 点
帖子
4
精华
0
在线时间
0 小时
注册时间
2007-3-21
最后登录
2008-3-5

楼主
winnie6 发表于 2007-3-21 11:31:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我现在的sas集中tradedate属性是 $25 字符型

我想转化为日期型变量 就是yymmdd8.

我直接采用

data x;

set x1;

format tradedate yymmdd8.;

run;

改不过来,log中还出现错误提示 在线求助

二维码

扫码加我 拉你入群

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

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

关键词:日期变量 字符变量 Traded format Trade 变量 SAS 字符

回帖推荐

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

data one; input chardate1 :$6. chardate2 :$9. chardate3 $10. chardate4 :$9.;datalines;010199 31dec1999 21/09/2005 5/9/2005;/* Use the INPUT function to convert a character value that represents a date *//* into a SAS date value. Choose the second parameter to the INPUT function *//* based upon what the current character value looks like. Use a FORMAT *//* statement to apply the date fo ...

本帖被以下文库推荐

沙发
fangtmrx 发表于 2007-3-21 13:50:00
data one;
input chardate1 :$6. chardate2 :$9. chardate3 $10. chardate4 :$9.;
datalines;
010199 31dec1999 21/09/2005 5/9/2005
;

/* Use the INPUT function to convert a character value that represents a date */
/* into a SAS date value. Choose the second parameter to the INPUT function */
/* based upon what the current character value looks like. Use a FORMAT */
/* statement to apply the date format you want when you are done. */
/* */
/* Note: If you are in SAS 9.0 or above, you may prefer using the ANYDTDTEw. */
/* Informat as the second argument to the INPUT function. ANYDTDTEw. */
/* can read multiple date layouts. Refer to the SAS Language Reference, */
/* Dictionary under INFORMATS for more information. */


data two;
set one;
sasdate1=input(chardate1,mmddyy6.);
sasdate2=input(chardate2,date9.);
sasdate3=input(chardate3,ddmmyy10.);
sasdate4=input(chardate4,ddmmyy10.);
format sasdate1 mmddyy10. sasdate2 yymmdd10. sasdate3 date9. sasdate4 monyy7. ;
run;

proc print;
run;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

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

藤椅
winnie6 发表于 2007-3-21 15:40:00

谢谢2楼

但前提是我目前的日期数据已经在sas集中了

input语句不是只能针对外部文件而言吗?

板凳
winnie6 发表于 2007-3-21 16:18:00

多谢fangtmrx

我用

data x2;
set x1;
tradedate1=input(tradedate, f8.);
informat tradedate1 yymmdd8.;
run;

问题基本解决,虽然format变成best12 但是length=8了

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

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