汇率回报

时间:2014-07-31 18:25:48

标签: sql sql-server ssis

我正在为我们的IT部门制作月度许可报告,它会收到欧元的许可证信息列表。我有一个XML提要,每天提供Exchange费率数据,但作业只会设置为每月运行一次。

我在我的SSIS包中设置了一个条件拆分,它拆分了美元汇率并丢弃了其他所有东西。

我剩下要做的就是只返回每个月1日的汇率,我不需要每天只报告报告的那一天。

是否有一个SSIS表达式只返回XML Feed中的那一行? 或者是否有一个只返回第一个月数据的SQL-T脚本?

日期格式为MM / DD / YYYY,我有一系列派生列,为我的[DIMDate]创建格式为YYYYMMDD的[DateKey]。

3 个答案:

答案 0 :(得分:1)

你有一张昏暗的约会桌吗?

select datekey
from dimdate
where day(datefield) = 1

这将为您提供昏暗日期表中每个月的第一天。内部将现有的选择加入到此处(此处的内部联接将有效地用作过滤器)。有点像这个

 inner join dimdate on dimdate.datefield = mainquery.datefield and day(dimdate.datefield) = 1

答案 1 :(得分:1)

对于发布的XML,此Xpath查询将为您带来第一个元素(第一个日期的货币组):

 '//Cube/Cube[1]/.' 

如果您只需携带USD部分:

 '//Cube/Cube[1]/Cube[@currency="USD"]/.' 

在SSIS中,您可以通过控制流中的XML任务应用Xpath转换。

答案 2 :(得分:0)

我实际上在网上找到了一个更简单的解决方案。我已经构建了它,测试并实现了它。

我不得不放下我们的网络人员并请求外部连接到互联网以实现它(他不喜欢做的事情)但是一旦我们解决了这个问题就像魅力。

以下是我使用的网站的链接。

http://technet.microsoft.com/en-us/sqlserver/ff686773.aspx

感谢大家提出的所有好主意。我相信他们会为其他项目派上用场。