BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
hk24
Obsidian | Level 7

I'm trying to extract some data for the last 3 months on a rolling basis, which means that whenever the script is run, it would pull data for last 3 months based on the current month. I have two date columns, namely, campaign_date and year_month whose values are in the format of '03APR2023:00:00:00' and '2304' respectively and I'm using the column campaign_date for extracting the data, but the below script does not return any value. Can someone please review the code and let me know the modification required?

 

data newdata;
set libnamexyz.olddata (where=( CAMPAIGN_DATE between DATE() AND intnx('dtday',DATE(),-90)));
format cust_id 20.;
Run;

 

1 ACCEPTED SOLUTION

Accepted Solutions
SASKiwi
PROC Star

My guess is CAMPAIGN_DATE is a DATETIME and not a DATE variable. Try this:

data newdata;
set libnamexyz.olddata (where = ( CAMPAIGN_DATE between intnx('dtday',DATETIME(),-90) and DATETIME()));
format cust_id 20.;
Run;

View solution in original post

1 REPLY 1
SASKiwi
PROC Star

My guess is CAMPAIGN_DATE is a DATETIME and not a DATE variable. Try this:

data newdata;
set libnamexyz.olddata (where = ( CAMPAIGN_DATE between intnx('dtday',DATETIME(),-90) and DATETIME()));
format cust_id 20.;
Run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 763 views
  • 2 likes
  • 2 in conversation