Time series

Reply
Occasional Contributor
Posts: 7

Time series

Is there an easy way to convert a combined year and month value to a SAS DATE?

 

I have the following data, and wanted to use some of the SAS Time Series methods

 

There is a number for year, but it also has a two digit number for month combined. The data are in an Excel format.

 

Here is asample of the data:

 

The first variable is January in the year 1895. PCP is the total precipitation for that month.

 

YearMonth      PCP

189501           6.89

189502           2.94

189503           5.66

 

 

The data go up to December 2017.

 

I would like to be able to total up all the PCP for a year, plot it -- then plot the next year’s total PCP, etc all the way up to 2017.

 

PROC Star
Posts: 1,829

Re: Time series

[ Edited ]

may this demo help?  Mind you! ---The sasdate value will revert to first of the month though

data have;
input YearMonth      PCP;
cards;
189501           6.89
189502           2.94
189503           5.66
;

data want;
set have;
k=put(YearMonth,8. -l);
sasdate=input(k,yymmn6.);
format sasdate date9.;
run;

 

 

PROC Star
Posts: 1,829

Re: Time series

Posted in reply to novinosrin

or just:

data have;
input YearMonth      PCP;
cards;
189501           6.89
189502           2.94
189503           5.66
;

data want;
set have;
sasdate=input(put(YearMonth,8. -l),yymmn6.);
format sasdate date9.;
run;
Occasional Contributor
Posts: 7

Re: Time series

Posted in reply to novinosrin
Thank you -- Can't wait to try this later.
Esteemed Advisor
Posts: 5,535

Re: Time series

If yearMonth is a number then convert to a SAS date with

 

ymDT = mdy(mod(YearMonth,100), 1, int(YearMonth/100));
format ymDT yymmd.;

PG
Occasional Contributor
Posts: 7

Re: Time series

Thank you.
Ask a Question
Discussion stats
  • 5 replies
  • 112 views
  • 1 like
  • 3 in conversation