Hello,
I have set up a format for a particular variable, along these lines:
proc format;
value cost_range
. = "$0-$5,000"
0-5000 = "$0-$5,000"
5001-10000 = "$5,001-$10,000";
run;
The underlying variable above is obviously numeric; however, I want to be able to assign the resulting format as a character string to another variable.
For example, I want cost_range_char to actually store $0-$5000 as a character string.
Any advice will be appreciated and liked promptly.
Kind regards,
Mark
Use the put() function with your format.
cost_range_char = put(cost,cost_range.);
Use the put() function with your format.
cost_range_char = put(cost,cost_range.);
*I am not sure want you want to get it but it may surely help;
data have;
/* a b and c is numeric */
a=0;
b=.;
c=5000;
run;
proc format ;
value new_format
.= "MISSING"
0-4999="LESS then 5000"
5000 ="5000 >"
;
run;
data want;
set have;
new_a=put(a,new_format.);
new_b=put(b,new_format.);
new_C=put(c,new_format.);
drop a b c;
rename new_a=a new_b=b new_c=c;
run;
* note: if you have data already in char then use INPUT function and use $ sign in proc formate such as $new_format;
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.