## SGPLOT for mean of more than one month

Solved
Frequent Contributor
Posts: 89

# 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);
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);
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?

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