任何人都可以告诉我如何创建一个符合下述标准的ssis包。
1)每月提取新成员加入者数据。
2)将数据存储在一个单独的表调用'Joiner'上,该表具有列member_name,join_date,member_class。
3)这项工作将安排在每个月的第一天开始。
例如,软件包将在4月1日运行,其join_date将于3月1日至31日匹配,并将其转储到“joiner”表中。下个月它将于5月1日以4月1日至4月30日的join_date运行。
我知道我必须创建一个带有连接日期参数的商店程序才能通过,但我担心的是我应该如何实现每月传递日期的自动化以及按月和月存档加入者数据。
任何帮助将不胜感激。
答案 0 :(得分:2)
听起来您的问题是关于如何自动获取上个月的数据。如果您使用SQL Server,DATEADD()
和EOMONTH()
可以自动完成每月抓取滚动时间范围的需要。
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
您的查询需要在WHERE子句中包含类似的内容。
WHERE join_date >= DATEADD(DAY, 1, EOMONTH(GETDATE(),-2))
AND join_date < EOMONTH(GETDATE(),-1)