2

我有一个这样的数据集:

date 
01JAN90
01APR90
01JUL90
01OCT90
01JAN91
01APR91
01JUL91
01OCT91

我想将日期值转换为

date
1990Q1
1990Q2
1990Q3
1990Q4
1991Q1
1991Q2
1991Q3
1991Q4

我怎样才能在 SAS 中做到这一点?

4

2 回答 2

2

使用这样的东西:

format date yyq.;

其中“日期”是您的日期变量。

它会做你的工作。

编辑:在 datetime7 之后。错误,如果您的日期是字符日期时间格式,请先使用 datepart 提取日期,然后将格式应用于日期。

sasdate = datepart(date);
fmtdate = put(sasdate,yyq.);

这里fmtdate是您的最终答案。

有关格式 yyq,请参见此处

请参阅此处获取日期部分

希望这最终会有所帮助

于 2014-10-08T13:28:22.140 回答
0

对于新的字符变量:

 quarter = put(date, yyq.);

要格式化您通常需要的相同变量:

format date yyq.;

编辑:要将字符日期转换为 SAS 日期,请使用以下命令:sas_date=input(date, anydtdte.);

于 2014-10-08T13:30:56.660 回答