Azure数据工厂从$$FilePath复制活动提取日期

7gyucuyw  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(89)

我正在将数据从存储帐户复制到synpase,我使用了$$FilePath来获取文件名。Filename = CPDSERVICE_20230718.xlsx我试图使用另一个参数date &试图从$$FilePath中提取日期。请指导我,我需要通过20230718日期提交文件。
100d 1xx 1c 1d 1x的字符串

wsewodh2

wsewodh21#

@split('$$FILEPATH','_')[1]尝试根据字符'_'拆分字符串'$$FILEPATH'。由于'_'不在字符串中,因此数组的第零个元素具有整个字符串'$$FILEPATH',并且没有第一个元素。没有任何函数可以套用至$$FILEPATH参数的值。解决方法是将该文件与其他列filename一起复制到临时文件,然后在查找活动中使用该临时文件.获取文件名并将所需的函数应用于该列以提取日期,然后复制到接收器文件。下面是详细的方法。

  • 执行管道活动,然后执行复制活动,将数据从源文件复制到登台文件,文件名作为附加列。

x1c 0d1x的数据

  • 然后进行查找活动,并将暂存文件作为查找活动中的数据集。


  • 然后将复制活动和登台文件作为源数据集。在源设置中,取附加列filedate,并将表达式值指定为@replace(split(activity('Lookup1').output.firstRow.Filename,'_')[1],'.xlsx','')

通过这种方式,您可以从文件名中提取日期。
编辑:
您可以使用GetMetaData activity来获取源文件名的列表,并使用for-each activity将每个文件复制到接收器中。在复制源文件时,将附加列作为@replace(split(item().name,'_')[1],'.xlsx','')。这将从文件名中提取日期,并将其复制为新列。

相关问题