DATA Step, Macro, Functions and more

first date of the current month & last month's first date +1

Accepted Solution Solved
Reply
Contributor
Posts: 54
Accepted Solution

first date of the current month & last month's first date +1

Hi

I have a requirement to check : first date of the current month  & last month's first date +1

 

So today's date is : 2/12/2018

 

I want the first range as : 02/01/2018 ( 2nd jan 2018)

                 second range : 01/02/2018 (1st of feb 2018)

 

I have tried :

 

%LET PRE_MO = %SYSFUNC(INTNX(MONTH, %SYSFUNC(&CURR), -1),DATE9.) ;

 

I am getting PRE_MO  AS  : 01JAN2018  , but I want it be increased by 1

I am trying : R = INTNX(('MONTH',AEENDTC1,0,"BEGINNING")),DATE9. ;    ( to get the first day of this month)

 

But error shows : 

R = INTNX(('MONTH',AEENDTC1,0,"BEGINNING")),DATE9. ;
_ _
_ _
_ _
79 22
79 22
79 22
_
_
_
200
200
200
: Expecting a ).

 

 


Accepted Solutions
Solution
‎02-13-2018 09:33 AM
PROC Star
Posts: 1,215

Re: first date of the current month & last month's first date +1

Posted in reply to sayanapex06

LIke this?

 

data test;
	today="12feb2018"d;
	first=intnx("month", today, -1, "b")+1;
	second=intnx("month", today, 0, "b");

	format today first second date9.;
run;

View solution in original post


All Replies
Respected Advisor
Posts: 2,827

Re: first date of the current month & last month's first date +1

[ Edited ]
Posted in reply to sayanapex06
%LET PRE_MO = %eval(%SYSFUNC(INTNX(MONTH, &CURR, -1,b))+1) ;

%put %sysfunc(putn(&pre_mo,date9.));

Work with dates (and date-time values) as numbers rather than formatted values whenever possible.

 

Use the formatted values only when absolutely necessary, for example when displaying results for human eyes.

 

 

--
Paige Miller
Solution
‎02-13-2018 09:33 AM
PROC Star
Posts: 1,215

Re: first date of the current month & last month's first date +1

Posted in reply to sayanapex06

LIke this?

 

data test;
	today="12feb2018"d;
	first=intnx("month", today, -1, "b")+1;
	second=intnx("month", today, 0, "b");

	format today first second date9.;
run;
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 198 views
  • 4 likes
  • 3 in conversation