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