SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Zatere
Quartz | Level 8

Hi there,

 

The table below represents the distributions of age for each area. So, the variable _1 represents how many people are 1 years old, the variable _2 how many people are 2 years old, and so on. The age goes up to 90 years old.

 

DataSet example.PNG

 

I want to create a graph that shows the distribution of age for each area. One chart as the below for each area:

 

Chart Example.PNG

 

Is there any way to do so? Hope it makes sense.

 

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
SASJedi
Ammonite | Level 13

How about something like this?

data have;
   call streaminit(12345);
   length name $20;
   array p[5];
   drop i;
   do NAME="United Kingdom","Great Britan", "England";
      do i=1 to 5;
         p[i]=round(rand('UNIFORM')*i*1000);
      end;
      output;
   end;
run;
data forplot;
   array p[5] p1-p5;
   set have;
   do i=1 to dim(p);
      Pop=vname(p[i]);
      Value=p[i];
      output;
   end;
   keep name pop value;
run;

proc sgplot data=forplot;
   vbar pop/ response=value;
   by Name notsorted;
run;
Check out my Jedi SAS Tricks for SAS Users

View solution in original post

2 REPLIES 2
SASJedi
Ammonite | Level 13

How about something like this?

data have;
   call streaminit(12345);
   length name $20;
   array p[5];
   drop i;
   do NAME="United Kingdom","Great Britan", "England";
      do i=1 to 5;
         p[i]=round(rand('UNIFORM')*i*1000);
      end;
      output;
   end;
run;
data forplot;
   array p[5] p1-p5;
   set have;
   do i=1 to dim(p);
      Pop=vname(p[i]);
      Value=p[i];
      output;
   end;
   keep name pop value;
run;

proc sgplot data=forplot;
   vbar pop/ response=value;
   by Name notsorted;
run;
Check out my Jedi SAS Tricks for SAS Users
Zatere
Quartz | Level 8

Thanks! Excellent implementation!

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1035 views
  • 3 likes
  • 2 in conversation