在Azure Synapse Analytics中,我想使用pipeline函数为从12个月前到当前日期的日期设置一个数组类型的变量。变量中的日期是每个月的第一天。例如,要在本月创建的变量可能如下所示
['2022-08-01','2022-09-01','2022-10-01','2022-11-01','2022-12-01','2023-01-01','2023-02-01','2023-03-01','2023-04-01','2023-05-01','2023-06-01','2023-07-01','2023-08-01']
字符串
而9月份要制造的变数会是这样的
['2022-09-01','2022-10-01','2022-11-01','2022-12-01','2023-01-01','2023-02-01','2023-03-01','2023-04-01','2023-05-01','2023-06-01','2023-07-01','2023-08-01','2023-09-01']
型
任何答案都会有所帮助。- 谢谢你-谢谢
2条答案
按热度按时间gfttwv5a1#
如果你有一个附近的SQL数据库,我可能会从那里得到它。任何一个好的仓库都有一个日历表来处理这类事情。下面是一个使用
generate_series
的简单示例,现在在SQL Server 2022和Azure SQL DB中可用:字符串
使用Lookup Activity和Query模式将数据导入管道。
我还得到了一个处理
For Each
和Append variable
Activity的方法,但它需要16秒才能运行!?NB您可以在格式参数中设置'01'以获取月份的第一个:型
Append variable results的
sqyvllje2#
您可以使用for each和追加变量活动,如下所示。
首先,使用
Set variable
创建如下空数组。空日期数组
的数据
接下来,创建
ForEach
活动并在其中添加Append variable
活动。的
在这里,我给出了
0
到13
之间的项目,因为您需要过去12个月的日期。如果你在任何变量或参数中有这个数字,把它添加到这个范围函数的第二个参数中。确保启用
Sequential
接下来,在追加变量中添加如下表达式。
字符串
的
在这里,在Name字段中选择您最初创建的空数组变量。并在value字段中添加上面给出的表达式。
接下来,创建新的
Set variable
并创建新的数组变量,然后给予之前创建的日期数组变量的值。的
输出:
注意:请根据您的要求给予日期,但请不要填写
29
、30
和31
,因为这些日期不是每个月都有。