SAS数组问题每个数据主题有多个行



我的数据是按月结构化的,每个月向每个客户记录添加一个更新。这些是垂直堆叠的。我想搜索每个客户,如果一个标志或指标出现在任何一个月,我想永久记录。从我的例子中,如果有错过付款,我希望ever_missed标志始终为1

|客户Id| |月| |missed_pay| |ever_missed|

1234 Jan 0
1234 Feb 0
1234 Mar 1
1234 Apr 0
5678 Jan 1
5678 Feb 0
5678 Mar 1
5678 Apr 0

我一直在看数组教程但通常日期等都是水平的

一月二月三月

实际上我想做的就是遍历每个客户的每条记录如果missed_pay = 1那么ever_missed = 1

这可以在DATA步骤中使用"DOW循环"来完成,但是SAS PROC SQL使它变得容易,因为有"重新组合"。特性。我不认为数组对这个有帮助。

data have ;
input Cust_ID Month $3. missed_pay ;
cards ;
1234 Jan 0
1234 Feb 0
1234 Mar 1
1234 Apr 0
5678 Jan 1
5678 Feb 0
5678 Mar 1
5678 Apr 0
9999 Jan 0
9999 Feb 0
9999 Mar 0
9999 Apr 0
;
proc sql ;
create table want as
select *,max(missed_pay) as ever_missed
from have
group by Cust_ID
;
quit ;
proc print data=want ;
run ;