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;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.