Hello,
I have the number of people by age. My numeric variable of age category ' Cat_age ' was coded in 1,2,3.
1='3-5 years'
2='6-11 years'
3='12-18 years'
I would like to draw a graph with the number of people by age. So i used a proc format to display in my graph "3-5 years' instead of "1" but it doesn't seem to work... The graph displays me column with 1,2,3 in the horizontal axis. Ci-below my script (i am a beginner in SAS ...).
Thanks in advance,
title 'Age distribution';
axis1 stagger label=('Âge');
axis2 label=('Effectif');
proc format;
value cat_age 1='3-5 ans'
2='6-11 ans'
3='12-18 ans';
run;
proc gchart data=conso;
vbar cat_age /discrete maxis=axis1 raxis=axis2;
format cat_age;
run;
quit;
Your methodology is correct but syntax isn't.
The syntax is
FORMAT variable_name(s) format_name.;
So in your case, since you've named the format the same as the variable name:
Format cat_age cat_age.;
Your methodology is correct but syntax isn't.
The syntax is
FORMAT variable_name(s) format_name.;
So in your case, since you've named the format the same as the variable name:
Format cat_age cat_age.;
Thank you ! Now it works !
proc gchart data=conso;
vbar cat_age /discrete maxis=axis1 raxis=axis2;
format cat_age cat_age.;
run;
quit;
If you have the option switch to SGPLOT instead, you get better graphics and more supported.
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.