"Invalid 2nd argument" 在 SAS 中使用 INTNX 时
"Invalid 2nd argument" when using INTNX in SAS
我有一个数据集,其中有一个名为日期的变量。它看起来像“31MAY13:00:00:00”,它的数据类型是日期。现在我想创建一个新变量,使其成为相应月份的第一天。所以对于“31MAY13:00:00:00”,它会给我“01MAY13:00:00:00”。这是我的代码:
DATA newdata;
SET olddata;
newvariable = INTNX('month',olddate,0,"B");
RUN;
日志显示:函数 INTNX 的参数 2 无效。为我使用 SAS 已经有一段时间了。任何想法?非常感谢!
除了@Dwal 的建议之外,您还可以使用 "datepart" 函数来提取日期,并且可以使用您一直使用的相同公式。
newvariable = INTNX('month',datepart(olddate),0,"B");
您的值是日期时间,而不是日期。您需要像这样将 dt
添加到间隔的前面以增加日期时间值:
DATA newdata;
SET olddata;
newvariable = INTNX('dtmonth',olddate,0,"B");
RUN;
我有一个数据集,其中有一个名为日期的变量。它看起来像“31MAY13:00:00:00”,它的数据类型是日期。现在我想创建一个新变量,使其成为相应月份的第一天。所以对于“31MAY13:00:00:00”,它会给我“01MAY13:00:00:00”。这是我的代码:
DATA newdata;
SET olddata;
newvariable = INTNX('month',olddate,0,"B");
RUN;
日志显示:函数 INTNX 的参数 2 无效。为我使用 SAS 已经有一段时间了。任何想法?非常感谢!
除了@Dwal 的建议之外,您还可以使用 "datepart" 函数来提取日期,并且可以使用您一直使用的相同公式。
newvariable = INTNX('month',datepart(olddate),0,"B");
您的值是日期时间,而不是日期。您需要像这样将 dt
添加到间隔的前面以增加日期时间值:
DATA newdata;
SET olddata;
newvariable = INTNX('dtmonth',olddate,0,"B");
RUN;