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!!!
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.