我已经看过使用以下代码执行此操作的方法:
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