Desktop productivity for business analysts and programmers

SGPLOT for mean of more than one month

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 89
Accepted Solution

SGPLOT for mean of more than one month

Hi, I have this code:

 

proc sort data=dataname;
by month hour;
run;

proc means data=dataname noprint;
by month hour;
var Load temperature DewPoint WindSpeed CloudCover;
output out=Meanx mean=;
run;

proc print data=Meanx;
run;

proc sgplot data=Meanx;
where Month in(6);
series x=Hour y=Load / legendlabel = 'Load' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = LIGHTBLUE) 
													MARKERATTRS =  (COLOR = LIGHTBLUE);
series x=Hour y=Temperature / y2axis legendlabel = 'Temperature' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = PINK);
XAXIS LABEL = 'Hour' GRID VALUES = (0 TO 23 BY 1);
YAXIS LABEL = 'LOAD (MW)';
Y2AXIS LABEL = 'Temperature (degrees F)';
title 'Hourly Load and Temperature (June)';
run;

but this is for individual month. How can I do that I have one line like this but it represents Month 6,7,8 ?

 

When I put 'where Month in (6,7,8) I get 3 separate lines for each month. How can I change my code?


Accepted Solutions
Solution
‎07-06-2018 03:32 PM
Super User
Posts: 23,937

Re: SGPLOT for mean of more than one month

Remove MONTH from your BY statement.

 


@matt23 wrote:

Hi, I have this code:

 

proc sort data=dataname;
by month hour;
run;

proc means data=dataname noprint;
by month hour;
var Load temperature DewPoint WindSpeed CloudCover;
output out=Meanx mean=;
run;

proc print data=Meanx;
run;

proc sgplot data=Meanx;
where Month in(6);
series x=Hour y=Load / legendlabel = 'Load' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = LIGHTBLUE) 
													MARKERATTRS =  (COLOR = LIGHTBLUE);
series x=Hour y=Temperature / y2axis legendlabel = 'Temperature' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = PINK);
XAXIS LABEL = 'Hour' GRID VALUES = (0 TO 23 BY 1);
YAXIS LABEL = 'LOAD (MW)';
Y2AXIS LABEL = 'Temperature (degrees F)';
title 'Hourly Load and Temperature (June)';
run;

but this is for individual month. How can I do that I have one line like this but it represents Month 6,7,8 ?

 

When I put 'where Month in (6,7,8) I get 3 separate lines for each month. How can I change my code?


 

View solution in original post


All Replies
Solution
‎07-06-2018 03:32 PM
Super User
Posts: 23,937

Re: SGPLOT for mean of more than one month

Remove MONTH from your BY statement.

 


@matt23 wrote:

Hi, I have this code:

 

proc sort data=dataname;
by month hour;
run;

proc means data=dataname noprint;
by month hour;
var Load temperature DewPoint WindSpeed CloudCover;
output out=Meanx mean=;
run;

proc print data=Meanx;
run;

proc sgplot data=Meanx;
where Month in(6);
series x=Hour y=Load / legendlabel = 'Load' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = LIGHTBLUE) 
													MARKERATTRS =  (COLOR = LIGHTBLUE);
series x=Hour y=Temperature / y2axis legendlabel = 'Temperature' MARKERS LINEATTRS = (THICKNESS = 2 PATTERN = SOLID COLOR = PINK);
XAXIS LABEL = 'Hour' GRID VALUES = (0 TO 23 BY 1);
YAXIS LABEL = 'LOAD (MW)';
Y2AXIS LABEL = 'Temperature (degrees F)';
title 'Hourly Load and Temperature (June)';
run;

but this is for individual month. How can I do that I have one line like this but it represents Month 6,7,8 ?

 

When I put 'where Month in (6,7,8) I get 3 separate lines for each month. How can I change my code?


 

☑ This topic is solved.

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

Discussion stats
  • 1 reply
  • 78 views
  • 0 likes
  • 2 in conversation