Reputation: 331
Can any one let me know how can i create a ssis package which will serve the below mentioned criteria.
1) Extract new member joiner data on monthly basis .
2) Store the data on a separate table call 'Joiner' which has column member_name,join_date,member_class.
3) the job will be scheduled to run 1st day of every month.
For example the package will run on 1st April with a join_date 1st March to 31st Match and dump it to the 'joiner' table. Next month it will run on 1st May with a join_date of 1st April to 30th April.
I know i have to create a store procedure with a join date parameter to pass but my concern is how should i achieve this automation of passing date every month and archive joiners data on month and month basis.
Any help will be much appreciated.
Upvotes: 0
Views: 723
Reputation: 8324
It sounds like your question is about how to get the previous month of data on an automated basis. DATEADD()
and EOMONTH()
can accomplish your need of grabbing a rolling timeframe each month automatically if you are using SQL Server.
SELECT
getdate(), --current date
EOMONTH(GETDATE()), --last day of the current month
EOMONTH(GETDATE(),-1), --last day of the previous month
DATEADD(DAY, 1, EOMONTH(GETDATE(),-2)) --go back two months and add 1 day
Your query would need to include something like this in the WHERE clause.
WHERE join_date >= DATEADD(DAY, 1, EOMONTH(GETDATE(),-2))
AND join_date < EOMONTH(GETDATE(),-1)
Upvotes: 2