Hello I have been using SAS for years but I am a basic programmer and generally keep it simple but I want to get better. I have this situation that I can use the following code but I would like it to be smarter. In this scenario the max n is 3 but it could be as many as 50 and I don't want to write out the code. So if anyone out there can educate/enlighten me I would be very grateful DATA checking; INPUT CUSTOMER_ACCOUNT_ID n sum_accounts ; CARDS; 260 1 10436965 260 2 10436965 9629 1 9629 9629 2 88532203 15191 1 15191 15191 2 15191 15191 3 15191 17712 1 17712 17712 2 43811252 17712 3 17712 ; run; proc transpose data = checking out = x_checking (drop = _name_) prefix = count_; by customer_account_id ; id n; var sum_accounts; run; data x_checking_1; set x_checking; format match $10.; if count_3 eq . then do; if count_1 = count_2 then match = 'yes'; else match = 'no'; end; else do; if count_1 = count_2 = count_3 then match = 'yes'; else if count_1 = count_2 or count_1 = count_3 or count_2 = count_3 then match = 'partial'; else match = 'no'; end; run; Cheers
... View more