Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个这样的数据集:
date 01JAN90 01APR90 01JUL90 01OCT90 01JAN91 01APR91 01JUL91 01OCT91
我想将日期值转换为
date 1990Q1 1990Q2 1990Q3 1990Q4 1991Q1 1991Q2 1991Q3 1991Q4
我怎样才能在 SAS 中做到这一点?
使用这样的东西:
format date yyq.;
其中“日期”是您的日期变量。
它会做你的工作。
编辑:在 datetime7 之后。错误,如果您的日期是字符日期时间格式,请先使用 datepart 提取日期,然后将格式应用于日期。
sasdate = datepart(date); fmtdate = put(sasdate,yyq.);
这里fmtdate是您的最终答案。
有关格式 yyq,请参见此处。
请参阅此处获取日期部分
希望这最终会有所帮助
对于新的字符变量:
quarter = put(date, yyq.);
要格式化您通常需要的相同变量:
编辑:要将字符日期转换为 SAS 日期,请使用以下命令:sas_date=input(date, anydtdte.);