BookmarkSubscribeRSS Feed
Linmuxi
Calcite | Level 5

  I had a database like this:

 

Account_NumberMonthPayment_Method
10 
11PI
12PI
20 
21 
22 
23 

 

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

2 REPLIES 2
Reeza
Super User

You can use MAX/MIN with SQL.

 

proc sql;
create table want as
select *, max(payment_method) as payment_method_max
from have;
quit;
Linmuxi
Calcite | Level 5

Thank you! I added a group by and it works out!!!

SAS Innovate 2025: Call for Content

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!

Submit your idea!

What is Bayesian Analysis?

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 1802 views
  • 1 like
  • 2 in conversation