## Charting time data

Solved
Frequent Contributor
Posts: 106

# Charting time data

I would like to create a horizontal bar chart that charts time in days. The x-axis would be total days. The bars would be the sum of 4 different times or phases, and color coded by phase. For example, building S3677 below would have a bar totaling 215 days, with each phase color coded within that bar.

The data is formatted like this:

Building    phase1     phase2     phase3     phase4

S212          201          165           35               46

O254         198           144          120            58

S3677        100           25            36             54

Any suggestions?

Thanks.

Accepted Solutions
Solution
‎03-26-2013 06:08 PM
SAS Super FREQ
Posts: 978

## Re: Charting time data

Posted in reply to sarahsasuser

First, transpose you data so that it looks like this:

Building     Value     Phase

S212          201       Phase1

S212          165       Phase2

S212          35         Phase3

S212          46         Phase4

...and so on.

Then, run either PROC SGPLOT or PROC GCHART:

proc sgplot data=buildings;

vbar building / response=value group=phase;

run;

proc gchart data=buildings;

vbar building / sumvar=value subgroup=phase;

run;

quit;

Hope this helps!

Dan

All Replies
Solution
‎03-26-2013 06:08 PM
SAS Super FREQ
Posts: 978

## Re: Charting time data

Posted in reply to sarahsasuser

First, transpose you data so that it looks like this:

Building     Value     Phase

S212          201       Phase1

S212          165       Phase2

S212          35         Phase3

S212          46         Phase4

...and so on.

Then, run either PROC SGPLOT or PROC GCHART:

proc sgplot data=buildings;

vbar building / response=value group=phase;

run;

proc gchart data=buildings;

vbar building / sumvar=value subgroup=phase;

run;

quit;

Hope this helps!

Dan

Frequent Contributor
Posts: 106

## Re: Charting time data

Thanks Dan. Your answer made me realize that I need help with proc transpose more than the plotting procedures. I do not get the dataset I want when I do proc transpose data=have out=want; id building; var _all_; run;

Can you suggest a better way to transpose than I have?

Posts: 5,132

## Re: Charting time data

Posted in reply to sarahsasuser

This should do the trick

proc transpose data=have out=want(rename=(col1=value)) name=phase;

by building notsorted;

var phase: ;

run;

PG

PG
Frequent Contributor
Posts: 106

## Re: Charting time data

Thanks PGStats!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
• 4 replies
• 352 views
• 4 likes
• 3 in conversation