跳转至

ETL 语法

ETL 筛选器或 SQL 查询字符串的管理

对于每个包含 ETL 筛选器或允许动态语法的 SQL 查询的 ETL 管理窗口,都可以定义参数来设置例程或 ETL 作业的执行筛选器。

对于可以插入 SQL 语言 ETL 筛选器或查询的 ETL 管理窗口,将显示指向此页面的链接。

参数元素列表

下面提供了可用参数元素的列表:

参数 执行步骤中返回的值
{TABLE} 暂存表
{MAP} ETL 域代码
{IMP} 例程代码
{JOB} ETL 作业代码
{USER} 运行例程或 ETL 作业的用户代码
{PROCESS} 数据收集流程代码
{DATETIME} 运行例程或 ETL 作业的日期和时间。格式:MMDDYYYYHHMMSSLLL(MM 月,DD 日,YYYY 年,HH 小时,MM 分钟,SS 秒,LLL 毫秒)
{DATE} 运行例程或 ETL 作业的日期。格式:MMDDYYYY(MM 月,DD 日,YYYY 年)
{TIME} 运行例程或 ETL 作业的时间。格式:HHMMSSLLL(HH 小时,MM 分钟,SS 秒,LLL 毫秒)
{DATE_YYYY} 运行例程或 ETL 作业的年份(4 位数字)
{DATE_YY} 运行例程或 ETL 作业的年份(2 位数字)
{DATE_MM} 运行例程或 ETL 作业的月份(2 位数字)
{DATE_DD} 运行例程或 ETL 作业的日期(2 位数字)
{TIME_HH} 运行例程或 ETL 作业的小时(2 位数字)
{TIME_MI} 运行例程或 ETL 作业的分钟(2 位数字)
{TIME_SS} 运行例程或 ETL 作业的秒(2 位数字)
{TIME_ML} 运行例程或 ETL 作业的毫秒(2 位数字)
{codice_parametro_ETl} 参数值。示例:假设我们定义了一个参数 "PARAM_AZIENDA",其类型为 "来自导入数据",它取 ETL 维度的值并包含要为其提取数据的实体(例如 A01、A02、A03),您只需编写 COD_AZIENDA IN ({PARAM_AZIENDA}),因为系统会将该指令转换为 COD_AZIENDA IN ('A01', 'A02', 'A03')
{sigla_dimensione_ETL} 系统从 ETL 维度表中确定具有指定缩写的维度类型。系统还可以自动将维度元素中包含的值转换为相同的维度类型。示例:如果我们有一个缩写为 {IMP1} 的数字类型 ETL 维度,假设我们需要将该维度的值乘以 -1,并且考虑到暂存表的所有列均为字符串类型,您只需编写 {IMP1}*-1,而无需编写 TO_NUMBER(IMP1) *-1
{AW [workspace code]
{AW [workspace code]
{AW [workspace code]
{AW [workspace code]
{AW [workspace code]

注意:可以使用语法 #{}# 来防止系统在转换某些关键字时将值限定在单引号之间。

例如,语法 {PROCESS} 被转换为 'BUGDET';而语法 #{PROCESS}# 被转换为 BUDGET

例如,当您希望将参数语法用作表名的一部分或存储过程中的参数时,这非常有用。

注意:还可以使用 统一 SQL 语法

警告

  • 每当需要在 ETL 筛选器或 SQL 查询中引用 ETL 维度时,不得使用自定义名称。而必须使用 Tagetik 应用程序数据库中定义的暂存表列的字段名称——例如 CAMPO1、CAMPO2 等
  • 每当需要编写应用于暂存表的筛选器以引用其字段时,必须使用它们在 Tagetik 应用程序数据库上的名称,即 CAMPO1、CAMPO2 等
  • 每当需要编写应用于数据加载目标表的筛选器以引用其字段时,必须使用它们在表所在数据库上的名称
  • 在查询中不能按此顺序同时使用字符 '{' 和 '}',除非用于标识上述指定的参数。