我有一个SAS日期格式的数据集" 01JAN1980"。我想生成一个名为" quarter"的变量。格式" 1980Q1"或者是什么组合的年份和季度。 这是我的SAS代码: 季度= QRT(日期) 格式化季度yyq。
但它给了我1960Q1而不是1980Q1。
有人知道问题在哪里吗?
非常感谢!!!
答案 0 :(得分:4)
Quarter函数返回四分之一数字,即1-4。 SAS将此解释为值为1的日期,相当于1960年1月1日,然后在yyq中显示该日期。格式。所以你真正想要的只是制作原始变量的副本,而不更改值,并应用格式:quarter = date; format quarter yyq.;
。
此外,在某些情况下,您甚至可能不需要复制变量 - 您可以在大多数过程的中间放置一个format
语句,它将使用该格式输出proc。