【发布时间】:2016-02-08 19:44:01
【问题描述】:
由于某种原因,我无法正确读取数据。我希望能够读取大型数据集,但仅限于特定日期,例如 2004 年 1 月至 2004 年 2 月。我的代码如下:
DATA Work.sales_fact;
SET Work.sales_fact_subset;
WHERE '01JAN2004'd <= Order_Date <= '14FEB2004'd;
RUN;
PROC PRINT;
RUN;
我做错了什么?
【问题讨论】:
-
你缺少一个 AND... WHERE '01JAN2004'd
-
语法对我来说很好。是什么让你觉得有些不对劲?您收到错误消息吗?返回错误的记录数?检查 Order_Date 是否为数字日期变量。这一步是读取 sales_fact_subset。您的意思是改为阅读 sales_fact 吗?
-
它似乎没有相应地读取数据。我得到了整个数据集,而不是我要求的那些日期的子集。 @ramb 仍然不起作用。
-
你说得对,我很惭愧我不知道这种语法会起作用。我将使用 SASHelp 数据集留下一个示例作为答案。
-
我猜你的日期实际上不是 SAS 日期,如果你从 SQL 等数据库中读取,它可能是一个日期时间变量。
标签: sas data-manipulation data-management