Convert date to beginning and end of quarter

Reply
Contributor
Posts: 31

Convert date to beginning and end of quarter

I am fairly new to SAS and am struggling with dates!  I need to take what's in the 'Have' column and convert it to what's in 'Beginning' and 'End'.  Here's the code I have;

t2.end_date as Have,

QTR(DATEPART(t2.end_date)) as Quarter, /*Gets me the number of the quarter (1-4)*/

INTNX('Quarter',t2.end_date,1,'B') as tmp,

 

Have     Want
  Quarter Beginning End   Beginning End
31JAN2015:00:00:00.000 1 . .   1-Jan-2015 31-Mar-2015
28FEB2015:00:00:00.000 1 . .   1-Jan-2015 31-Mar-2015
31MAR2015:00:00:00.000 1 . .   1-Jan-2015 31-Mar-2015
30APR2015:00:00:00.000 2 . .   1-Apr-2015 30-Jun-2015
31MAY2015:00:00:00.000 2 . .   1-Apr-2015 30-Jun-2015
30JUN2015:00:00:00.000 2 . .   1-Apr-2015 30-Jun-2015
31JUL2015:00:00:00.000 3 . .   1-Jul-2015 30-Sep-2015
Contributor
Posts: 38

Re: Convert date to beginning and end of quarter

[ Edited ]

This:

 

INTNX('Quarter',datepart(t2.have),1,'B') as tmp,

 

is going to shift the date to the following quarter. You need to change it to:

 

 

INTNX('Quarter',datepart(t2.have),0,'Begin') as beginning,
INTNX('Quarter',datepart(t2.have),0,'End') as end,

making sure to put the date in the have variable.

Super User
Posts: 17,831

Re: Convert date to beginning and end of quarter

Change your third argument to INTNX to 0

Make sure you're working with a DATE variable, datepart() function

Interval is QTR/QUARTER

 

INTNX('QTR',datepart(t2.end_date),0,'B')

Ask a Question
Discussion stats
  • 2 replies
  • 916 views
  • 0 likes
  • 3 in conversation