需要每个每日报告仅显示上次报告运行后扫描的文档

时间:2014-05-29 15:13:16

标签: sql sas data-integration

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

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

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

3 个答案:

答案 0 :(得分:0)

您是否有报告或扫描日期的专栏?如果是这样,我相信你可以这样做:

BEGIN
CREATE TABLE ARG_REPORT
 AS SELECT
   VID,
   LAST_NAME,
   FIRST_NAME,
   MI
FROM WORK.FINAL_RESULTS2
WHERE REPORT_DATE >= GETDATE();
END

答案 1 :(得分:0)

您需要以某种方式存储已报告的数据。您可以将其存储在一个表格中(您可以拥有一个'运行总计'报表,这确实是运行总计,当您生成报表时,只需通过加入该表获取新记录)。

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

答案 2 :(得分:0)

我的报告显示为

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

有没有什么方法可以比较前一天的结果。 ARG_REPORT_& numdate-1,就像这样。 ?