BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
lmyers2
Obsidian | Level 7

Hello,

 

I'm using SAS 9.4 full version. I have the following sample data where the payments are formatted into a money variable. I want to code an array to keep the highest payment per line and maintain money formatting. Is an array the best way to do this?  How do I maintain the money formatting?

 

                      Payment1   Payment 2  Payment 3

Person 1       $500            .                  $750

Person 2       $100            .                  .

Person 3       .                   $450          $400

 

I want:

 

                     Highest Payment

Person 1      $750

Person 2      $100

Person 3      $450

 

Thank you in advance for the help!

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Use the max() function and the dollar format:

data have;
input (paym1-paym3)(:10.);
format paym1-paym3 dollar10.2;
cards;
500 . 750
;
run;

data want;
set have;
max_paym = max(of paym1-paym3);
format max_paym dollar10.2;
run;

proc print data=want noobs;
run;

Result:

   paym1         paym2         paym3      max_paym

 $500.00           0         $750.00       $750.00

View solution in original post

1 REPLY 1
Kurt_Bremser
Super User

Use the max() function and the dollar format:

data have;
input (paym1-paym3)(:10.);
format paym1-paym3 dollar10.2;
cards;
500 . 750
;
run;

data want;
set have;
max_paym = max(of paym1-paym3);
format max_paym dollar10.2;
run;

proc print data=want noobs;
run;

Result:

   paym1         paym2         paym3      max_paym

 $500.00           0         $750.00       $750.00

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1220 views
  • 3 likes
  • 2 in conversation