使用'将数据读入SAS;其中';功能

使用'将数据读入SAS;其中';功能,sas,data-manipulation,data-management,Sas,Data Manipulation,Data Management,由于某种原因,我无法正确读取数据。我希望能够在一个大的数据集读取,但只在特定的日期,如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 Work.sales\u事实; 设置Work.sales\u fact\u子集; 其中“2004

由于某种原因,我无法正确读取数据。我希望能够在一个大的数据集读取,但只在特定的日期,如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 Work.sales\u事实;
设置Work.sales\u fact\u子集;

其中“2004年1月1日”d这里是该工作的一个示例。。 请检查您的数据集

data want;
set sashelp.rent;
where "01feb1999"d <= date <= "02feb2003"d;
run;
需要数据;
设置sashelp.rent;

其中“01feb1999”d这里是该工作的一个示例。。 请检查您的数据集

data want;
set sashelp.rent;
where "01feb1999"d <= date <= "02feb2003"d;
run;
需要数据;
设置sashelp.rent;

其中“01feb1999”d如果表名和日期结构正确,则查询正确。下面是我使用正确的结果集所做的示例

 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;
数据输入;
输入日期1日期9;
格式date1 date9。;
卡;
2004年1月1日
2004年2月2日
2004年3月3日
2004年6月4日
2004年7月5日
;
数据输入;
设置输入;

其中'01JAN2004'd如果表名和日期结构正确,则查询正确。下面是我使用正确的结果集所做的示例

 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;
数据输入;
输入日期1日期9;
格式date1 date9。;
卡;
2004年1月1日
2004年2月2日
2004年3月3日
2004年6月4日
2004年7月5日
;
数据输入;
设置输入;

其中'2004年1月1日'd我想您已经切换了
数据
设置
<代码>数据
是您要创建的内容<代码>设置
是数据的来源

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;
DATA Work.sales\u fact\u子集;
设置Work.sales\u事实;

其中'2004年1月1日'd我想您已经切换了
数据
设置
<代码>数据
是您要创建的内容<代码>设置
是数据的来源

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;
DATA Work.sales\u fact\u子集;
设置Work.sales\u事实;

2004年1月1日你在哪里错过了一个。。。2004年1月1日的语法在我看来很好。是什么让你觉得有什么不对劲?您是否收到错误消息?返回错误数量的记录?检查订单日期是否为数字日期变量。此步骤是读取sales\u fact\u子集。你的意思是阅读销售事实吗?它似乎没有相应地读入数据。我得到的是整个数据集,而不是我要求的那些日期的子集@ramb仍然不起作用。你是对的,我很抱歉我不知道这个语法会起作用。我将留下一个使用SASHelp数据集的示例作为答案。我将猜测您的日期实际上不是SAS日期,如果您从SQL之类的数据库读取数据,它可能是一个datetime变量。您缺少一个和。。。2004年1月1日的语法在我看来很好。是什么让你觉得有什么不对劲?您是否收到错误消息?返回错误数量的记录?检查订单日期是否为数字日期变量。此步骤是读取sales\u fact\u子集。你的意思是阅读销售事实吗?它似乎没有相应地读入数据。我得到的是整个数据集,而不是我要求的那些日期的子集@ramb仍然不起作用。你是对的,我很抱歉我不知道这个语法会起作用。我将留下一个使用SASHelp数据集的示例作为答案。我猜您的日期实际上不是SAS日期,如果您从SQL之类的数据库中读取数据,它可能是一个日期时间变量。谢谢您,先生,您是一个天才。真不敢相信我竟然没收到,谢谢!谢谢你,先生,你是个天才。真不敢相信我竟然没收到,谢谢!