
# 简易变量集参考
简易变量集提供了一系列自定义的变量，自定义参数会根据任务调度的业务日期、计划时间及参数的取值格式自动替换为具体的值，实现在任务调度时间内参数的动态替换。
当前系统支持业务日期、计划时间、业务id三类参数的自定义。
- 业务日期是指在调度时间内，任务预期调度运行时间的前一天（即昨天），精确到天。业务日期可通过${yyyymmdd}获取。通常，业务日期为计划时间所在日期-1。
- 计划时间是指在调度时间内，任务预期调度运行的时间点（即当天），精确到秒。计划时间可通过$\[yyyymmddhh24miss\]获取。
- 业务ID参数包括作业ID和作业生成的实例ID两种，通过$job_id和$instance_id获取。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/notice_3.0-zh-cn.png)
  使用简易变量集时，需要打开简易变量集的开关，功能才能生效。开关打开的方法请参见[配置默认项 \> 是否使用简易变量集](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_04501.html#dataartsstudio_01_04501__section12475339019)。
  
#### 业务日期参数
业务日期是指在调度时间内，任务预期调度运行时间的前一天（即昨天）。例如，调度日期为2023年1月1日，那么业务日期就是2022年12月31日。该参数是通过yyyy、yy、mm和dd自定义组合而生成的时间参数，其格式可自定义。例如，${yyyy}、${yyyymm}、${yyyymmdd}和${yyyy-mm-dd}等。
- yyyy：表示4位的年份，取值为业务日期的年份。
- yy：表示2位的年份，取值为业务日期的年份后两位。
- mm：表示月份，取值为业务日期的月份。
- dd：表示天，取值为业务日期的天。
取N年前、N月前、N天前的时间数据请参考[表1]，参数只能精确到年月日，不支持小时、分钟、秒的写法。
 表1业务日期参数获取说明 
| 业务日期场景      | 获取方法             |
|:---|:---|
| 前/后N年       | ${yyyy±N}        |
| 前/后N月       | ${yyyymm±N}      |
| 前/后N周       | ${yyyymmdd±7\*N} |
| 前/后N天       | ${yyyymmdd±N}    |
| 前/后N年（yy格式） | ${yy±N}          |
   
#### 计划时间参数
计划时间是指在调度时间内，任务预期调度运行的时间点（即当天）。该参数是通过yyyy、yy、mm、dd、hh24、mi和ss自定义组合而生成的时间参数，其格式可自定义。例如，$\[yyyymmdd\]、$\[yyyy-mm-dd\]、$\[hh24miss\]、$\[hh24:mi:ss\]和$\[yyyymmddhh24miss\]等。
- yyyy：表示4位的年份，取值为计划时间的年份。
- yy：表示2位的年份，取值为计划时间的年份后两位。
- mm：表示月份，取值为计划时间的月份。
- dd：表示天，取值为计划时间的天。
- hh：表示12小时制，取值为计划时间的小时。
- hh24：表示24小时制，取值为计划时间的小时。
- mi：表示分钟，取值为计划时间的分钟。
- ss：表示秒，取值为计划时间的秒。
取N小时前、N分钟前的时间数据请参考[表2]，该参数不支持通过$\[yyyy-N\]、$\[mm-N\]等直接获取多少年前、多少月前的时间数据。
 表2计划时间参数获取说明 
| 计划时间场景 | 获取方法                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 后N年    | $\[add_months(yyyymmdd,12\*N)\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 前N年    | $\[add_months(yyyymmdd,-12\*N)\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 后N月    | $\[add_months(yyyymmdd,N)\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 前N月    | $\[add_months(yyyymmdd,-N)\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 前/后N周  | $\[yyyymmdd±7\*N\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 前/后N天  | $\[yyyymmdd±N\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 前/后N小时 | 获取该时间数据包含如下两种方式： - $\[hh24miss±N/24\]  - $\[自定义时间格式±N/24\]。 例如，取前一个小时的不同时间格式： - 取月：$\[mm-1/24\]。  - 取年：$\[yyyy-1/24\]。  - 取年月：$\[yyyymm-1/24\]。  - 取年月日：$\[yyyymmdd-1/24\]。  - 取前一天且前一小时：$\[yyyymmdd-1-1/24\]                                                                                                                                                                                                                                                      |
| 前/后N分钟 | 获取该时间数据包含如下四种方式： - $\[hh24miss±N/24/60\]  - $\[yyyymmddhh24miss±N/24/60\]  - $\[mi±N/24/60\]  - $\[自定义时间格式±N/24/60\] 例如，取计划时间15分钟前的不同时间格式： - 取年：$\[yyyy-15/24/60\]  - 取年月：$\[yyyymm-15/24/60\]  - 取年月日：$\[yyyymmdd-15/24/60\]  - 取小时：$\[hh24-15/24/60\]  - 取分钟：$\[mi-15/24/60\]     |
   
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
- 调度参数替换值在实例生成时已经确定，所以调度参数的替换值不会随着实例实际运行时间的改变而改变。
- 当调度参数取小时、分钟时，参数替换值由实例的计划时间决定，即由节点调度配置的计划调度时间决定。举例如下：
  - 如果当前节点为日调度节点，并且设置计划调度时间为01：00，则小时的参数取值为01。
  
  - 如果当前节点为小时调度节点，并且设置计划调度时间为00：00\~23：59，每小时调度一次，则：第一个小时实例计划时间为0点，小时的参数取值为00，第二个小时实例计划时间为1点，小时的参数取值为01，以此类推。
   
 
#### 业务ID参数
业务ID会替换成当前业务的实际ID，包括作业ID和作业生成的实例ID。
表3业务ID参数获取说明 
| 方法           | 说明                                                                                                                               |
|:---|:---|
| $job_id      | 数据开发作业id。获取该ID请参考[查询作业详情](https://support.huaweicloud.com/api-dataartsstudio/dataartsstudio_02_0087.html)。                       |
| $instance_id | 作业实例id（单节点作业测试运行不生成实例id，不支持）。获取该ID请参考[查询作业实例列表](https://support.huaweicloud.com/api-dataartsstudio/dataartsstudio_02_0094.html)。 |
   
#### 简易变量集指导示例
涉及场景：Pipeline作业、单任务SQL作业。
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
单任务SQL作业包含测试运行、提交作业并执行调度。语法检查。
Pipeline作业包含测试运行、提交作业并执行调度。
1. 配置参数及参数值，参数值需要设置好简易变量集。您可以在工作空间进行配置，也可以在作业中进行设置参数及参数值。
   
   图1配置参数和参数值   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002484004957.png "点击放大") 
2. 编写SQL语句，引入变量参数。运行SQL语句并查看执行结果。 如果是单任务SQL作业，输入如下SQL语句，您可以提交作业并执行调度，可以查看作业日志，查看简易变量集的执行结果。
   select '${next_year} ${last_year} ${today} ${last_week} ${next_week}'
   ```
   select '${next_year} ${last_year} ${today} ${last_week} ${next_week}'
   ```
   图2查看作业日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002489256873.png "点击放大") 
3. Pipeline作业使用简易变量集的详细情况如下。 Python作业节点举例如下。
   图3Python作业节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002484143649.png "点击放大")
   图4Python作业节点运行日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002450984186.png "点击放大")
   MRS Hive SQL作业节点举例如下。
   图5MRS Hive SQL作业节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002456299748.png "点击放大")
   图6MRS Hive SQL作业节点运行日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002489260449.png "点击放大")
   DLI作业节点举例如下。
   图7DLI节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002456302364.png "点击放大")
   图8DLI节点运行日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002456139240.png "点击放大")
   Shell作业算子举例如下。
   图9Shell节点   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002484144977.png "点击放大")
   图10Shell节点运行日志   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002484144981.png "点击放大") 
 
