如何更改我的 SAS 代码以找到最大数量

How to change my SAS code to find the maximum number

我有一个这样的数据集。我想创建另一个代表每天总交易量的变量。我的代码如下所示。但是我的代码似乎有问题,计算出的最大交易量 N 不知何故是错误的。谁能告诉我我的错误在哪里。

proc sort data = work.data;
by time;
run;

data work.data;
    set work.data;
    retain I; 
    by time;
    if first.time then I = volume; else I = I + volume;
run;

proc sql;
    create table work.data2
    as select a.*,  max(I) as N 
    from work.data as a  
    group by time
    order by time;
quit; 

ID      Time        Volume
Apple   1/1/2001    1000
BP      1/1/2001    1500
AAL     2/1/2001    1130
Apple   2/1/2001    1000
BP      2/1/2001    1500
AAL     2/1/2001    1130
Apple   3/1/2001    1000
BP      3/1/2001    1500
AAL     3/1/2001    1130

你的条件应该是max(I)。类似于:让 I=max(I);也可以通过一个 proc sql.

试试这个
proc sql;
select * from (select time,sum(volume) as total from have group by time)   having total=max(total);
quit;