Hi SAS Experts,
Is there is anyway to get the million format on dollar values. Below is the data and code.
data test;
informat amnt dollar14.;
format amnt dollar14.;
input amnt person$;
datalines;
196200000 b
1000000 c
2500000 d
1600000 e
;
run;
needed output:
amnt person
196.2M B
1M C
2.5M D
1.6M E
Note: Amnt should be numeric value only.
Thanks & regards,
Sanjay
use low - -1 instead of -1 - -45000000, for example
low - -1 = '0,000,009.9M' (mult=0.00001 prefix='-')
I created my own picture format for this purpose, you probably want to modify the code below for your exact needs
proc format; picture million low-high='0,000,009.9MM' (prefix='$' mult=.00001); run;
Hi PaigeMiller,
Thank you for your help, but how can i get the minus values like (-1000000 should be like -1.0).
Instead of using the same picture for all values low to high, you specify a picture with a minus sign for negative values, and a different picture for positive values, with no minus sign.
Ya I tried something like this, but the negative values are resuled in millions(like 1000000) and positive values are resulted in (like 1.0).
proc format;
picture million -1 - -45000000='0,000,009.9M' (mult= -.00001)
1 - high='0,000,009.9M' (mult=.00001);
run;
use low - -1 instead of -1 - -45000000, for example
low - -1 = '0,000,009.9M' (mult=0.00001 prefix='-')
Thank you, it worked well for me.
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 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.