日期限制正在删除 SAS 中想要的日期

问题描述 投票:0回答:1

我正在尝试使用 SAS 来限制 24 财年第一季度的日期。当我运行代码时,我发现所有观察结果都被删除,而不仅仅是日期范围之外的观察结果。下面是一个示例数据集。

input date1 date2 variable;
datalines;
10/2/2023 . 0
11/3/2023 11/22/2023 0
11/8/2023 12/30/2023 1
9/3/2023 09/20/2023 1
1/3/2020 09/10/2023 1 
1/5/2020 11/30/2023 1

;
run;

这是我尝试运行的代码

data test_2;
set test;
if gt date1;
if mdy(10,01,2023) le date2 le mdy (12,31,2023) then delete;
run;

任何有关此问题的指导将不胜感激!谢谢你

date if-statement sas
1个回答
0
投票

您的示例 INPUT 语句无法处理这些数据行。您需要使用 MMDDYY 信息读取这些字符串,以使结果不丢失。

data want;
  input date1 date2 variable;
  informat date1 date2 mmddyy.;
  format date1 date2 yymmdd10.;
datalines;
10/2/2023 . 0
11/3/2023 11/22/2023 0
11/8/2023 12/30/2023 1
9/3/2023 09/20/2023 1
1/3/2020 09/10/2023 1 
1/5/2020 11/30/2023 1
;

您的第一个 IF 语句看起来无效。 GT 是二元运算符。它需要两个操作数,而你只给出了一个。尝试将 DATE1 与什么值进行比较?

© www.soinside.com 2019 - 2024. All rights reserved.