能否在Azure Synapse Analytics中动态生成每月首日的日期数组变量?
在Azure Synapse Analytics管道中生成指定日期数组的解决方案
实现步骤
创建数组变量
在Synapse管道编辑界面,点击右上角「变量」按钮,添加一个类型为数组的变量,命名为MonthlyFirstDays。使用Set Variable活动生成目标数组
添加「Set Variable」活动,选择上述变量,在「值」中填入以下表达式:@map(range(0,13), item() => formatDateTime(addMonths(startOfMonth(utcNow()), item()-12), 'yyyy-MM-dd') )
表达式说明
range(0,13):生成包含0到12共13个整数的数组,对应13个月份(12个月前到当前月)addMonths(startOfMonth(utcNow()), item()-12):以当前月第一天为基准,偏移item()-12个月(从-12到0),得到对应月份的第一天formatDateTime(..., 'yyyy-MM-dd'):将日期格式化为yyyy-MM-dd的字符串格式map():遍历range数组,将每个整数转换为对应的日期字符串,最终输出目标数组
效果验证
- 若当前为2023年8月,变量值为:
['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'] - 若当前为2023年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']
内容的提问来源于stack exchange,提问作者user19504539
相关产品推荐
相关产品推荐

