Data in the red circle are latitudes, and I am struggling with adding a degree symbol to every each one of them. Trying to do the job with using the format statement.
See if this works for you 🙂
proc format;
picture deg other = '009.999°';
run;
data test;
lat = 42.255; output;
lat = 42.288; output;
format lat deg.;
run;
Hi @JayhwanLee (and welcome to the SAS Support Communities, btw :-))
If some of your LAT values might be negative (southern latitudes), you should extend the definition of the picture format:
proc format;
picture deg (round)
low - <0 = '0009.999°' (prefix='-')
0 - high = '0009.999°';
run;
@FreelanceReinh Good catch 🙂
proc fcmp outlib=work.func.math;
function fmt(x) $;
length w $ 32;
w=cats(' ',x,'(*ESC*){unicode FE12}');
return (w);
endsub;
run;
proc format ;
value fmt
low-high=[fmt()];
run;
options cmplib=work.func;
proc report data=sashelp.class nowd;
format weight height fmt32.;
column _all_;
define _all_/style={cellwidth=80 just=right};
run;
how get that Celsius symbol after or between a variable
@rogeralfa111 wrote:
how get that Celsius symbol after or between a variable
@rogeralfa111 do not the solutions offered work for you? If not, please explain in detail (really, we need details) and show us the code you have tried.
proc fcmp outlib=work.func.math;
function fmt(x) $;
length w $ 32;
w=cats(' ',x,'(*ESC*){unicode "2103"x}');
return (w);
endsub;
run;
proc format ;
value fmt
low-high=[fmt()];
run;
options cmplib=work.func;
proc report data=sashelp.class nowd;
format weight height fmt32.;
column _all_;
define _all_/style={cellwidth=80 just=right};
run;
/*Or try this one*/
proc format ;
picture xx(default=40)
low-high='009.9 ℃';
run;
proc report data=sashelp.class nowd;
format weight height xx.;
column _all_;
define _all_/style={cellwidth=80 just=right};
run;
yeah got it
thank you for the solution
@rogeralfa111 wrote:
how get that Celsius symbol after or between a variable
Custom formats are the way to go with values that you may need for calculation. Once you add some non-digit character like 'C' to an actual value you can no longer us it in arithmetic or model as a continuous variable.
Formats are the instructions SAS uses to display things for humans to read. You can have multiple formats and use the one you need at a specific time.
If you read the Documentation on Proc Format it currently includes an example of how to even do simple numeric conversions, such as degrees F to C at display.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.