使用PROC SQL在SAS中创建累积列

时间:2016-11-29 21:40:35

标签: sql sas

我已经看过使用以下代码执行此操作的方法:

 data a; 
 set a; 
 xsum + x; 
 run;

我希望能够使用PROC SQL执行此操作。

我有一张带有日差计数器的大桌子。它测量在同一天开始的多个进程,并跟踪进程终止所需的时间。我想在此表中添加一个累积列,以便能够查看该批处理的整体进度。这就是我现在所拥有的:

proc sql;
create table work.distribution as
select unique(difference) as day_count
        ,sum(case when difference <= day_count then 1 else 0 end)/count(*) as proportion
from work.day_difference
order by day_count;
quit;

输出只显示每个唯一差值的完整比例。

例如:

差异= 0比例= 1

差异= 1比例= 1

当所有流程都已完成时,它应该只在差异= 45时显示1。

是否有人有任何想法可能会使累积列正确显示?

以下是数据样本:

      init_dt  finish_dt difference
        20667   20667   0
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20668   20667   1
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2
        20669   20667   2

以下是输出示例:

   day_count     proportion
    0             1
    1             1
    2             1
    3             1 
    4             1
    7             1
    8             1
    9             1
    10            1
    11            1
    14            1
    15            1

0 个答案:

没有答案