【发布时间】:2014-10-26 22:23:42
【问题描述】:
我有一个 SAS 日期格式“01JAN1980”的数据集。我想生成一个名为“季度”的变量,格式为“1980Q1”或任何年份和季度的组合。 这是我的 SAS 代码: 季度=QRT(日期) 格式季度 yyq。
但它给了我 1960Q1 而不是 1980Q1。
有谁知道问题出在哪里?
非常感谢!!!
【问题讨论】:
我有一个 SAS 日期格式“01JAN1980”的数据集。我想生成一个名为“季度”的变量,格式为“1980Q1”或任何年份和季度的组合。 这是我的 SAS 代码: 季度=QRT(日期) 格式季度 yyq。
但它给了我 1960Q1 而不是 1980Q1。
有谁知道问题出在哪里?
非常感谢!!!
【问题讨论】:
Quarter 函数返回季度数,即 1-4。 SAS 将此解释为值为 1 的日期,相当于 1960 年 1 月 1 日,然后在 yyq 中显示该日期。格式。所以你在这里真正想要的只是复制原始变量,而不改变值,并应用格式:quarter = date; format quarter yyq.;。
此外,在某些情况下,您甚至可能不需要复制变量 - 您可以在大多数 proc 中间放置 format 语句,它将使用该格式作为 proc 的输出。
【讨论】: