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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.