使用 'Where' 函数将数据读入 SAS
Reading in Data into SAS using 'Where' function
出于某种原因,我无法正确读取数据。我希望能够读取大型数据集,但只能读取特定日期,例如 2004 年 1 月至 2004 年 2 月。我的代码如下:
DATA Work.sales_fact;
SET Work.sales_fact_subset;
WHERE '01JAN2004'd <= Order_Date <= '14FEB2004'd;
RUN;
PROC PRINT;
RUN;
我做错了什么?
这是这个工作的一个例子..
请检查您的数据集。
data want;
set sashelp.rent;
where "01feb1999"d <= date <= "02feb2003"d;
run;
如果您的 table 姓名和日期结构正确,则您的查询是正确的。这是我对正确结果集所做的示例。
data inputs;
input Date1 date9. ;
Format date1 date9.;
cards;
01JAN2004
02FEB2004
03MAR2004
04JUN2004
05JUL2004
;
DATA inputss;
SET inputs;
WHERE '01JAN2004'd <= Date1 <= '14FEB2004'd;
RUN;
PROC PRINT;
RUN;
我想你已经 DATA
和 SET
切换了。 DATA
是您要创建的内容。 SET
是数据的来源。
DATA Work.sales_fact_subset ;
SET Work.sales_fact;
WHERE '01JAN2004'd <= Order_Date <= '14FEB2004'd;
RUN;
PROC PRINT data=Work.sales_fact_subset;
RUN;
出于某种原因,我无法正确读取数据。我希望能够读取大型数据集,但只能读取特定日期,例如 2004 年 1 月至 2004 年 2 月。我的代码如下:
DATA Work.sales_fact;
SET Work.sales_fact_subset;
WHERE '01JAN2004'd <= Order_Date <= '14FEB2004'd;
RUN;
PROC PRINT;
RUN;
我做错了什么?
这是这个工作的一个例子.. 请检查您的数据集。
data want;
set sashelp.rent;
where "01feb1999"d <= date <= "02feb2003"d;
run;
如果您的 table 姓名和日期结构正确,则您的查询是正确的。这是我对正确结果集所做的示例。
data inputs;
input Date1 date9. ;
Format date1 date9.;
cards;
01JAN2004
02FEB2004
03MAR2004
04JUN2004
05JUL2004
;
DATA inputss;
SET inputs;
WHERE '01JAN2004'd <= Date1 <= '14FEB2004'd;
RUN;
PROC PRINT;
RUN;
我想你已经 DATA
和 SET
切换了。 DATA
是您要创建的内容。 SET
是数据的来源。
DATA Work.sales_fact_subset ;
SET Work.sales_fact;
WHERE '01JAN2004'd <= Order_Date <= '14FEB2004'd;
RUN;
PROC PRINT data=Work.sales_fact_subset;
RUN;