I had a database like this:
Account_Number | Month | Payment_Method |
1 | 0 | |
1 | 1 | PI |
1 | 2 | PI |
2 | 0 | |
2 | 1 | |
2 | 2 | |
2 | 3 |
For some data record error reason, for example, as the account number = 1, when month =0, the payment method should be PI instead of missing. but the account number 2 is fine. Since all of its months should be missing. So the correct database would be :all of the months should be PI or all of the months should be missing for the same account.
So my question is: for the account like 1, is that possible to let payment method = PI when month = 0? The problem only occur when month = 0 in the problem account.
I try CASE WHEN MONTH = 1 AND Payment_method= 'PI'
THEN (CASE WHEN MONTH =0 THEN PAYMENT_METHOD = 'P' END)
end
group by Account_number
It doesn't work at all...
Thanks in advance
You can use MAX/MIN with SQL.
proc sql;
create table want as
select *, max(payment_method) as payment_method_max
from have;
quit;
Thank you! I added a group by and it works out!!!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.