我希望每份每日报告仅显示在上次报告运行后扫描的文档。我不希望报告是所有以前文件的总和。
PROC SQL;
CREATE TABLE ARG_REPORT
AS SELECT
VID,
LAST_NAME,
FIRST_NAME,
MI
FROM WORK.FINAL_RESULTS2;QUIT;
ARG_REPORT 是输出,但给出了数据中的所有变量。只需要今天的扫描数据。我能做些什么?谢谢!
我希望每份每日报告仅显示在上次报告运行后扫描的文档。我不希望报告是所有以前文件的总和。
PROC SQL;
CREATE TABLE ARG_REPORT
AS SELECT
VID,
LAST_NAME,
FIRST_NAME,
MI
FROM WORK.FINAL_RESULTS2;QUIT;
ARG_REPORT 是输出,但给出了数据中的所有变量。只需要今天的扫描数据。我能做些什么?谢谢!
我的报告显示像
PROC EXPORT DATA= WORK.ARG_REPORT
OUTFILE= "/dwdata/sas_data/ARG_REPORT_&numdate..csv" REPLACE;run;
有什么方法可以将结果与前一天进行比较。ARG_REPORT_&numdate-1,类似这样的东西。?
您是否有报告或扫描日期的列?如果是这样,我相信您可以执行以下操作:
BEGIN
CREATE TABLE ARG_REPORT
AS SELECT
VID,
LAST_NAME,
FIRST_NAME,
MI
FROM WORK.FINAL_RESULTS2
WHERE REPORT_DATE >= GETDATE();
END
您需要以某种方式存储已经报告的数据。您可以将它存储在一个表中(您可以有一个确实是运行总计的“运行总计”报告表,并且当您生成报表时,通过加入该表仅获取新记录)。
如果该VID
字段是您可以用作限制的内容(仅选择大于上一个报告中最大 VID 的 VID),那么您可以将其存储在表中(或宏变量中 - 例如,如果最后一个报告可用于输入,您可以将其读入,通过 将最大的 VID 读入宏变量call symput
,然后以这种方式限制您的查询)。