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.
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.