添加动态内容 - Azure的数据工厂ADF

问题描述 投票:0回答:2

我需要在自动进稿器中添加动态内容。在它需要得到上个月日期如下酸盐这样一种方式。

结果:2018-12.csv.zip

azure expression azure-data-factory azure-data-factory-2
2个回答
0
投票

这可以通过使用https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions来完成。

可能的解决方法:我会建议你在这里使用3个参数。该解决方案使用触发器()。开始时间,但您可以使用utcnow()以及。

注:(触发器()开始时间,-31, 'MM')adddays将返回12个月,因为这一个月是31天前。如果您的触发器在每月的5日,或在本月的第一天比你可以使用-2。

processYear = @formatDateTime(adddays(trigger().startTime,-31), 'yyyy')

processMonth = @formatDateTime(adddays(trigger().startTime,-31), 'MM')

result = @concat(pipeline().parameters.processYear,'-',pipeline().parameters.processMonth,'.csv.zip').

希望这会有所帮助。


0
投票

如果您设定的日期到28日,然后减去30天,应该让你进入任何日期的前一个月。然后,只需格式化为yyyy-MM,如

@concat(formatDateTime(adddays(formatDateTime(utcnow(), 'yyyy-MM-28'),-30),'yyyy-MM'),'.csv.zip')


-2
投票

上面给出的情况下工作,如果我知道的日期,但我每天都跑我的数据工厂。所以下面工作得更好。

@concat(子串(字符串(如果(等于(INT(FORMATDATETIME(utcnow(), 'MM')),01),分(INT(FORMATDATETIME(utcnow(), 'YYYYMM')),89),分(INT (FORMATDATETIME(utcnow(), 'YYYYMM')),1))),0,4), ' - ',子(字符串(如果(等于(INT(FORMATDATETIME(utcnow(), 'MM')),01 ),分(INT(FORMATDATETIME(utcnow(), 'YYYYMM')),89),分(INT(FORMATDATETIME(utcnow(), 'YYYYMM')),1))),4,2),'。CSV 。压缩')

任何更改赞赏。

© www.soinside.com 2019 - 2024. All rights reserved.