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 open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.