SAS 用保留语句填空

SAS Fill In Blanks With Retain Statement

所以我试图在 SAS 上保留值,但条件包括我的 ID 字段。我有以下数据集:

ID Amount
1 230
1 450
1 .
1 .
2 .
2 .

我想保留,前提是 ID 相同,如果它是一个点则为零,请参见下面的结果:

ID Amount
1 230
1 450
1 450
1 450
2 0
2 0

更新技巧怎么样。

data test;
   infile cards expandtabs;
   input id amount;
   cards;
1   230
1   450
1   .
1   .
2   .
2   .
;;;;
   run;
proc print;
   run;
data test2;
   update test(obs=0) test;
   by id;
   if first.id and missing(amount) then amount=0;
   output;
   run;
proc print;
   run;