0

我希望每份每日报告仅显示在上次报告运行后扫描的文档。我不希望报告是所有以前文件的总和。

PROC SQL;
CREATE TABLE ARG_REPORT
 AS SELECT
   VID,
   LAST_NAME,
   FIRST_NAME,
   MI
FROM WORK.FINAL_RESULTS2;QUIT;

ARG_REPORT 是输出,但给出了数据中的所有变量。只需要今天的扫描数据。我能做些什么?谢谢!

4

3 回答 3

0

我的报告显示像

             PROC EXPORT DATA= WORK.ARG_REPORT
        OUTFILE= "/dwdata/sas_data/ARG_REPORT_&numdate..csv" REPLACE;run;

有什么方法可以将结果与前一天进行比较。ARG_REPORT_&numdate-1,类似这样的东西。?

于 2014-05-30T13:41:03.400 回答
0

您是否有报告或扫描日期的列?如果是这样,我相信您可以执行以下操作:

BEGIN
CREATE TABLE ARG_REPORT
 AS SELECT
   VID,
   LAST_NAME,
   FIRST_NAME,
   MI
FROM WORK.FINAL_RESULTS2
WHERE REPORT_DATE >= GETDATE();
END
于 2014-05-29T15:27:19.593 回答
0

您需要以某种方式存储已经报告的数据。您可以将它存储在一个表中(您可以有一个确实是运行总计的“运行总计”报告表,并且当您生成报表时,通过加入该表仅获取新记录)。

如果该VID字段是您可以用作限制的内容(仅选择大于上一个报告中最大 VID 的 VID),那么您可以将其存储在表中(或宏变量中 - 例如,如果最后一个报告可用于输入,您可以将其读入,通过 将最大的 VID 读入宏变量call symput,然后以这种方式限制您的查询)。

于 2014-05-29T16:48:50.733 回答