0
我有一個數據集看起來像這樣。我想創建另一個代表每天總交易量的變量。我的代碼如下所示。但似乎我的代碼有問題,計算出的最大交易量N
在某種程度上是錯誤的。任何人都可以告訴我知道我的錯誤在哪裏。如何更改我的SAS代碼以查找最大數量
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
當我在您的示例數據集上運行您的代碼時,我可以在白天獲得正確的最大值。你可以將意外的結果添加到帖子中嗎? –
在這種情況下,我想可能是音量格式有問題。在我的SAS數據集中,音量格式爲52美元。長度不應該這麼長。這會導致一些問題嗎? – fly36
是「音量」字符還是數字?在你的第一個數據步驟中,嘗試'volume2 = input(cats(音量),最好);'然後在'volume2'上執行操作來代替'volume'。 –