跳到主要内容 跳到补充内容

创建规则以转换数据集

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

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

  1. 选择转换类型并单击下一步

    您可以执行以下转换:

    • 重命名数据集

    • 重命名列

    • 添加列

    • 放置列

    • 转换数据类型

    • 更换列值

  2. 选择转换范围并单击下一步

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

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

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

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

转变类型

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

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

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

将规则应用于这些数据集将提供这些结果。请注意,在第二条规则之后, _zzz 后缀不会添加到 ABC_customers,因为作用域始终位于原始名称 (Abc_customers) 上。

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

Abc_customers

ABC_customers

ABC_customers

ABC_Suppliers

ABC_Suppliers

ABC_Suppliers_zzz

重命名数据集

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

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

    单击下一步

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

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

    • 添加前缀或后缀。

    • 删除前缀或后缀。

    • 替换前缀或后缀。

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

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

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

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

    准备好后单击下一步

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

重命名列

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

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

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。

    单击下一步

    也可以将作用域限制为键或可为 null 的列。

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

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

    • 添加前缀或后缀。

    • 删除前缀或后缀。

    • 替换前缀或后缀。

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

    • 使用表达式替换列名称。

    • 使用字典替换列名。

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

    准备好后单击下一步

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

添加列

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

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

    单击下一步

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

    • 列名称

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

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

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

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

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

    准备好后单击下一步

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

放置列

  1. 选择放置列,然后单击下一步

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

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。

    单击下一步

    也可以将作用域限制为键或可为 null 的列。

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

转换数据类型

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

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

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。

    单击下一步

    也可以将作用域限制为键或可为 null 的列。

  3. 设置转变操作。

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

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

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

    准备好后单击下一步

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

更换列值

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

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

    您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。

    单击下一步

    也可以将作用域限制为键或可为 null 的列。

  3. 设置转变操作。

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

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

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

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

    准备好后单击下一步

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

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

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

选择重命名数据集重命名列后,转换操作中可以使用按字典重命名。单击 以打开字典编辑器。

  • 单击添加翻译并填写源名称已翻译名称以将翻译添加到词典中。

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

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

导入翻译

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

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

导入的词典中的翻译将附加到词典中。

导出翻译

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

  • 单击导出到 CSV

字典将导出为 CSV 文件。

在表达式中使用变量

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

可以在转换规则中使用的变量
变量 说明

$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

管理规则

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

  • 单击规则

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

本页面有帮助吗?

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