在 Azure 数据工厂中创建数组数组

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

我需要在 Azure 数据工厂中创建一个日期数组,如下所示。 将提供开始日期和结束日期,并且生成的数组数组应如下所示

[["01-Jan-2022","31-Mar-2022"],["01-Apr-2022","30-Jun-2022"]]

每个日期之间需要间隔3个月。

我在参数“StartDate”和“EndDate”中提供开始日期和结束日期 我尝试过使用 For Each 循环来执行此操作,但无法完成。

我需要循环遍历这个日期数组并使用每组开始和结束日期创建一个 SOAP 请求。

请帮忙。紧迫的 谢谢

arrays azure-data-factory expression
1个回答
0
投票
  • 在管道中创建变量,如下面的屏幕截图所示。

  • 进行直到活动并给出以下表达式

@greater(addDays(addToTime(variables('new_date'),6,'Month'),-1),pipeline().parameters.EndDate)

直到活动运行,直到该表达式的计算结果为 false。在活动之前,进行四项设置变量活动。

  • 使用

    设置变量活动
    将变量
    new_date1
    arr_str
    的值分别存储在
    new_date
    temp中。

  • 采取另一个设置变量活动并使用以下表达式存储

    arr_str
    的值

@concat(variables('temp'),',',string(createArray(formatDateTime(variables('new_date'),'dd-MMM-yyyy'),formatDateTime(addDays(addToTime(variables('new_date'),3,'Month'),-1),'dd-MMM-yyyy'))))

  • 采取另一个设置变量活动并使用以下表达式存储

    new_date1
    的值
    @addToTime(variables('new_date'),3,'Month')

  • 将set变量activity放在循环之外,并按顺序与until Activity连接。

    arr_out
    的表达式如下。

@json(concat('[',substring(variables('arr_str'),1,add(length(variables('arr_str')),-1)),']'))

arr_out
数组将给出开始日期和结束日期之间所需的输出。

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