You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PDI中实现基于7天日期范围的日期变量循环?

PDI实现按日循环处理过去7天数据的方案

一、在「声明日期变量」转换中生成7天日期列表

你已经通过「获取系统信息」拿到了week_from和today变量,接下来按以下步骤生成每天的日期:

  • 添加生成行步骤:设置生成行数为7(或用动态计算式DATEDIFF('day', ${week_from}, ${today}) + 1适配不同天数),该步骤会自动生成ROW_NUMBER字段(从1开始递增)。
  • 添加计算器步骤:新增日期字段(比如命名为loop_date),用公式计算对应日期:
    DATEADD('day', -${ROW_NUMBER}+1, ${today})
    
    若需统一日期格式(匹配数据库),改用:
    DATE_FORMAT(DATEADD('day', -${ROW_NUMBER}+1, ${today}), 'yyyy-MM-dd')
    
  • 添加复制记录到结果步骤:将生成的每日日期存入作业结果集,供后续循环调用。

二、作业层面实现逐日期循环执行

调整作业结构,实现对每个日期单独执行「temp1」转换:

  • 在「声明日期变量」转换之后,添加循环每一行结果作业项,该步骤会读取前面生成的日期结果集,逐行触发循环。
  • 在循环内部添加「temp1」转换:
    1. 先给「temp1」转换定义参数(比如current_date),用于接收循环传入的日期。
    2. 在作业的「temp1」转换配置界面,将循环行中的loop_date字段赋值给current_date参数。
    3. 修改「temp1」转换的输入SQL,将范围查询改为单日期查询:
      and dtJornada = '${current_date}'
      

内容的提问来源于stack exchange,提问作者Blinkclaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:43:19