开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks在定义参数的时候 如果是用大括号 还需要定义吗?

DataWorks在定义参数的时候 如果是用大括号 比如我想定义取上个月 last_mth 那我就设置last_mth=${add_months(yyyy-mm,-1)} 就可以了吗?我看文档说大括号是基于bizdate的 bizdate 还需要定义吗?image.png

展开
收起
真的很搞笑 2024-07-08 08:34:25 43 0
1 条回答
写回答
取消 提交回答
  • 是希望取bizdate的上个月 而不是定时时间的上个月对吗, 可以参考一下这个案例试试,上面的方式预览出来应该不能满足需求

    -- 需求6. 取昨天(业务日期)的上个月的第一天,期望格式为yyyyMMdd
    -- 配置:var6=$[yyyymmdd-1]
    -- 调用:${var6}
    -- 举例:假设定时时间为"2024-01-22 00:19:00"(即SKYNET_CYCTIME=20240122001900),预期调度参数返回值:20240121,取其上个月第一天预期为:20231201
    --      假设定时时间为"2024-01-01 00:16:00"(即SKYNET_CYCTIME=20240101001600),预期调度参数返回值:20231231,取其上个月第一天预期为:20231101
    -- 开启hive兼容模式,DATE_FORMAT函数需在该模式下使用。
    SET odps.sql.hive.compatible = true
    ;
    SELECT  '需求6. 取昨天(业务日期)的上个月的第一天,期望格式为yyyyMMdd' AS `需求`
            ,'配置:var6=$[yyyymmdd-1]' AS `配置`
            ,DATE_FORMAT(ADD_MONTHS(CONCAT(DATE_FORMAT(TO_DATE('${var6}','yyyyMMdd'),'yyyy-MM'),'-01'),-1),'yyyMMdd') AS `对调度参数返回值二次处理后的结果`
    ;
    

    ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2024-07-08 11:57:27
    赞同 2 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载