创建规则以转换数据集 | Qlik Cloud帮助
跳到主要内容 跳到补充内容

创建规则以转换数据集

您可以创建可重用的转换规则,以对 复制落地存储转换数据集市数据任务中的数据集执行全局转换。

信息注释由于架构演变而添加到任务中的数据集和列不支持全局转换。

选择 数据集,单击 转换规则,然后单击 添加转换规则 以创建新的转换规则。

  1. 选择转换类型,然后单击 下一步

    您可以执行以下转换:

    • 重命名数据集

    • 覆盖数据消息发布

      信息注释
      • 仅适用于 Kafka 目标。

      • 如果您使用的是 Data Movement gateway(本地 Kafka 所需),则需要 2025.5.40 或更高版本。

    • 重命名列

    • 添加列

    • 删除列

    • 转换数据类型

    • 替换列值

  2. 选择转换范围,然后单击 下一步

  3. 选择要执行的转换操作,然后单击 下一步

  4. 为规则添加名称和描述,然后单击 完成

该规则将在您运行数据任务时应用。如果您添加了多个规则,这些规则将按其列出的顺序执行。

提示注释您可以在规则的表达式中使用变量(例如列名)。有关详细信息,请参阅 在表达式中包含元数据

转换范围

当多个转换应用于相同的数据集或列时,范围始终针对原始源名称,而操作则与应用前一个规则后的值相关。例如,如果您有以下规则:

  1. 将所有以 Abc_ 开头的数据集 (Abc_%) 重命名,以将前缀更改为 ABC_

  2. 向以 ABC_ 开头的数据集 (ABC_%) 添加后缀 _zzz

将这些规则应用于这些数据集将提供以下结果。请注意,在第二个规则之后,不会向 ABC_customers 添加 _zzz 后缀,因为范围始终针对原始名称 (Abc_customers)。

原始数据集名称 规则 1 后的数据集名称 规则 2 后的数据集名称

Abc_customers

ABC_customers

ABC_customers

ABC_Suppliers

ABC_Suppliers

ABC_Suppliers_zzz

重命名数据集

  1. 选择 重命名数据集,然后单击 下一步

  2. 设置转换范围,即要重命名哪些数据集。您可以使用 % 作为通配符,从一个或多个数据资产中选择多个数据集。

    单击 下一步

  3. 设置转换操作。您可以执行以下操作:

    • 将数据集重命名为固定名称。

    • 添加前缀或后缀。

    • 删除前缀或后缀。

    • 替换前缀或后缀。

    • 将大小写更改为小写或大写。

    • 使用表达式替换数据集名称。

    • 使用字典替换数据集名称。

      有关详细信息,请参阅 使用字典重命名数据集或列

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

自定义数据消息发布

信息注释仅适用于 Kafka 目标。
  1. 选择 自定义数据消息发布,然后单击 下一步

  2. 设置转换范围,即要为哪些数据集覆盖数据消息发布设置。您可以使用 % 作为通配符,从一个或多个数据资产中选择多个数据集。

    单击 下一步

  3. 设置转换操作。

    对于每个设置,当前任务设置由字段任务设置: <设置>指示(例如,任务设置: 特定主题)。

    有关这些设置的说明,请参阅数据消息发布

    您可以保留任务设置,或使用表达式构建器指定自定义主题、消息键或分区键。

    信息注释这些设置将覆盖任务设置,但不会覆盖为单个数据集配置的设置。

    要使用表达式构建器:

    1. 根据需要选择自定义主题自定义消息键自定义分区键字段,然后单击表达式图标

      信息注释自定义主题必须已经存在,或者必须配置代理以创建它们。

      表达式生成器已打开。

    2. 构建表达式。

      您可以使用函数、运算符和元数据来构建表达式。

      单击 右箭头图标 以将项目移动到表达式中。

      您还可以在表达式中使用 Kafka 支持的所有函数。

    3. 单击提取参数

      现在,您可以将测试值添加所有参数的要测试的值

    4. 单击测试表达式

      现在应该可以使用测试值看到表达式的结果。

    5. 准备好后,单击确定

      表达式已添加到字段。

    构建表达式

    您需要构建一个表达式来定义自定义值。您可以使用:

    • 函数

      字符串函数、数字函数、空校验函数、数据和时间函数以及逻辑函数。

    • 运算符

      数学和逻辑运算符表达式上方的工具栏中也提供了一些运算符。这也是查找字符串连接运算符的地方,||

    • 元数据

      以下元数据可用:

      • $Q_M_SCHEMA_NAME
      • $Q_M_SOURCE_SCHEMA_NAME
      • $Q_M_SOURCE_TABLE_NAME
      • $Q_M_TABLE_NAME

    单击 右箭头图标 以将项目移动到表达式中。

    您还可以在表达式中使用 Kafka 支持的所有函数。

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

重命名列

  1. 选择 重命名列,然后单击 下一步

  2. 设置转换范围,即要重命名哪些列。您可以使用 % 作为通配符,从一个或多个数据任务和数据集中选择多个列。

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED 以对所有匹配的列执行操作,无论其数据类型如何。

    单击 下一步

    您还可以将范围限制为作为键或可为空的列。

  3. 设置转换操作。您可以执行以下操作:

    • 将列重命名为固定名称。

    • 添加前缀或后缀。

    • 删除前缀或后缀。

    • 替换前缀或后缀。

    • 将列大小写更改为小写或大写。

    • 使用表达式替换列名。

    • 使用字典替换列名。

      有关详细信息,请参阅 使用字典重命名数据集或列

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

添加列

  1. 选择 添加列,然后单击 下一步

  2. 设置转换范围,即向哪个数据集添加列。您可以使用 % 作为通配符,将列添加到一个或多个数据集。

    单击 下一步

  3. 设置新列的详细信息:

    • 列名

    • 使用表达式生成器为列设置

    • 选择 添加到主键 以将此列用作主键。

    • 目标数据类型 中设置数据类型。

    • 如果数据类型为 BYTESSTRINGWSTRING,请同时指定 长度

      如果数据类型为 NUMERIC,请同时指定 精确度小数位数

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

删除列

  1. 选择 删除列,然后单击 下一步

  2. 设置转换范围,即要删除哪些列。您可以使用 % 作为通配符,从一个或多个数据资产和数据集中选择多个列。

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED 以对所有匹配的列执行操作,无论其数据类型如何。

    单击 下一步

    您还可以将范围限制为作为键或可为空的列。

  3. 设置规则名称,然后单击 完成

转换数据类型

  1. 选择 转换数据类型,然后单击 下一步

  2. 设置转换范围,即要转换哪些列的数据类型。您可以使用 % 作为通配符,从一个或多个数据资产和数据集中选择多个列。

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED 以对所有匹配的列执行操作,无论其数据类型如何。

    单击 下一步

    您还可以将范围限制为作为键或可为空的列。

  3. 设置转换操作。

    • 目标数据类型 设置为要转换成的数据类型。

    • 如果数据类型为 BYTESSTRINGWSTRING,请同时指定 长度

      如果数据类型为 NUMERIC,请同时指定 精确度小数位数

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

另请参阅:管理数据类型

替换列值

  1. 选择 替换列值,然后单击 下一步

  2. 设置转换范围,即要替换哪些列的值。您可以使用 % 作为通配符,从一个或多个数据资产和数据集中选择多个列。

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED 以对所有匹配的列执行操作,无论其数据类型如何。

    单击 下一步

    您还可以将范围限制为作为键或可为空的列。

  3. 设置转换操作。

    • 设置一个表达式以在 目标值 中定义替换值。

    • 目标数据类型 设置为替换列的数据类型。

    • 如果数据类型为 BYTESSTRINGWSTRING,请同时指定 长度

      如果数据类型为 NUMERIC,请同时指定 精确度小数位数

    准备就绪后,单击 下一步

  4. 设置规则名称,然后单击 完成

使用字典重命名数据集或列

您可以使用字典来重命名数据集或列。当您处理大量使用神秘命名约定的对象时,这非常有用。您可以在字典编辑器中添加翻译,或导入包含翻译的 CSV 文件。您还可以将字典导出为 CSV 文件,并在另一个数据资产中重复使用。

当您选择 重命名数据集重命名列 时,按字典重命名转换操作 中可用。单击 书籍 打开字典编辑器。

  • 单击 添加翻译 并填写 源名称翻译后的名称,以向字典中添加翻译。

创建所需的翻译后,单击 确定 关闭字典编辑器。

信息注释只有在与字典中的源名称完全匹配时,才会替换该名称。不支持部分匹配。

导入翻译

您可以从包含字典的 CSV 文件中导入翻译。该文件应每行包含一个翻译。示例:

sourcename1,translatedname1 sourcename2,translatedname2 sourcename3,translatedname3
  • 单击 从 CSV 追加 并选择要导入的 CSV 文件。

导入字典中的翻译将追加到您的字典中。

导出翻译

您可以将字典导出为 CSV 文件,以便在其他数据资产中重复使用。

  • 单击 导出到 CSV

字典将导出为 CSV 文件。

在表达式中包含元数据

表达式编辑器中的 元数据 选项卡包含以下变量,您可以在转换规则的表达式中使用这些变量。

信息注释在数据移动期间,原始源数据类型会映射到 Qlik Talend Data Integration 数据类型,然后可以选择进行转换并映射到目标。例如,MySQL 中的 BIT 数据类型会映射到 Qlik Talend Data Integration 中的 BOOLEAN 数据类型。因此,名称中包含 DATATYPE 的变量是指 Qlik Talend Data Integration 数据类型或转换后的数据类型,而不是原始源数据类型。
可在转换规则中使用的变量
变量 描述

$Q_D_COLUMN_DATA

源表中的列值。

$Q_M_COLUMN_NAME

修改后的列名。

$Q_M_DATATYPE_LENGTH

列的修改后数据类型长度。

$Q_M_DATATYPE_NAME

列的修改后数据类型。

$Q_M_DATATYPE_PRECISION

列的修改后数据类型精确度。

$Q_M_DATATYPE_SCALE

列的修改后数据类型小数位数。

$Q_M_SCHEMA_NAME

源架构的名称。

$Q_M_SOURCE_COLUMN_NAME

源表中的列名。

$Q_M_SOURCE_DATATYPE_LENGTH

源表中列的数据类型长度。
$Q_M_SOURCE_DATATYPE_NAME 源表中列的数据类型。

$Q_M_SOURCE_DATATYPE_PRECISION

源表中列的数据类型精确度。

$Q_M_SOURCE_DATATYPE_SCALE

源表中列的数据类型小数位数。

$Q_M_SOURCE_TABLE_NAME

源表的名称。

$Q_M_TABLE_NAME

源表的修改后名称。

您可以使用以下表达式重命名转换范围内的所有表,以将架构名称添加为前缀:

${Q_M_SCHEMA_NAME}||'.'||${Q_M_SOURCE_TABLE_NAME}

例如,这会将 dwprod 架构中的表 products 重命名为 dwprod.products

管理规则

您可以在 规则 窗格中管理规则。

  • 单击 规则

您可以启用/禁用规则、删除规则以及编辑规则。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!