创建规则以转换数据集
您可以创建可重用的转换规则,以在登陆、存储、转换和数据集市数据任务中对数据集执行全局转换。
选择数据集,单击转换规则,然后单击添加转换规则以创建新的转换规则。
-
选择转换类型并单击下一步。
您可以执行以下转换:
-
重命名数据集
-
重命名列
-
添加列
-
放置列
-
转换数据类型
-
更换列值
-
-
选择转换范围并单击下一步。
-
选择要执行的转换操作,然后单击下一步。
-
为规则添加名称和说明,然后单击完成。
运行数据任务时将应用该规则。如果添加了多个规则,则这些规则将按其列出的顺序执行。
转变类型
当多个转换应用于同一数据集或列时,范围始终在原始源名称上,而操作与应用前一规则后的值相关。例如,如果您有以下规则:
-
重命名所有以 Abc_ (Abc_%) 开头的数据集,将前缀更改为 ABC_。
-
将后缀 _zzz 添加到以 ABC_ (ABC_%) 开头的数据集。
将规则应用于这些数据集将提供这些结果。请注意,在第二条规则之后, _zzz 后缀不会添加到 ABC_customers,因为作用域始终位于原始名称 (Abc_customers) 上。
初始数据集名称 | 规则 1 之后的数据集名称 | 规则 2 之后的数据集名称 |
---|---|---|
Abc_customers |
ABC_customers |
ABC_customers |
ABC_Suppliers |
ABC_Suppliers |
ABC_Suppliers_zzz |
重命名数据集
-
选择重命名数据集,然后单击下一步。
-
设置转换范围,即要重命名的数据集。您可以使用 % 作为通配符从一个或多个数据资产中选择多个数据集。
单击下一步。
-
设置转变操作。您可以执行以下操作:
-
将数据集重命名为固定名称。
-
添加前缀或后缀。
-
删除前缀或后缀。
-
替换前缀或后缀。
-
将大小写更改为小写或大写。
-
使用表达式替换数据集名称。
-
使用字典替换数据集名称。
有关更多信息,请参阅使用字典重命名数据集或列。
准备好后单击下一步。
-
-
设置规则的名称,然后单击完成。
重命名列
-
选择重命名列,然后单击下一步。
-
设置转换范围,即要重命名的列。您可以使用 % 作为通配符从一个或多个数据任务和数据集中选择多个列。
您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。
单击下一步。
也可以将作用域限制为键或可为 null 的列。
-
设置转变操作。您可以执行以下操作:
-
将列重命名为固定名称。
-
添加前缀或后缀。
-
删除前缀或后缀。
-
替换前缀或后缀。
-
将列大小写更改为小写或大写。
-
使用表达式替换列名称。
-
使用字典替换列名。
有关更多信息,请参阅使用字典重命名数据集或列。
准备好后单击下一步。
-
-
设置规则的名称,然后单击完成。
添加列
-
选择添加列,然后单击下一步。
-
设置转换范围,即要添加列的数据集。您可以使用 % 作为通配符将列添加到一个或多个数据集。
单击下一步。
-
设置新列的详细信息:
-
列名称。
-
使用表达式生成器设置列的值。
-
选择添加到主键以将此列用作主键。
-
在目标数据类型中设置数据类型。
-
如果数据类型为 BYTES、STRING 或 WSTRING,请指定长度。
如果数据类型为 NUMERIC,请同时指定精确度和比例。
准备好后单击下一步。
-
-
设置规则的名称,然后单击完成。
放置列
-
选择放置列,然后单击下一步。
-
设置转换范围,即要放置的列。您可以使用 % 作为通配符从一个或多个数据资产和数据集中选择多个列。
您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。
单击下一步。
也可以将作用域限制为键或可为 null 的列。
-
设置规则的名称,然后单击完成。
转换数据类型
-
选择转换数据类型,然后单击下一步。
-
设置转换范围,即要转换数据类型的列。您可以使用 % 作为通配符从一个或多个数据资产和数据集中选择多个列。
您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。
单击下一步。
也可以将作用域限制为键或可为 null 的列。
-
设置转变操作。
-
将目标数据类型设置为要转换到的数据类型。
-
如果数据类型为 BYTES、STRING 或 WSTRING,请指定长度。
如果数据类型为 NUMERIC,请同时指定精确度和比例。
准备好后单击下一步。
-
-
设置规则的名称,然后单击完成。
另请参阅: 了解更改数据类型的影响
更换列值
-
选择替换列值,然后单击下一步。
-
设置转换范围,即要替换哪些列的值。您可以使用 % 作为通配符从一个或多个数据资产和数据集中选择多个列。
您还可以将操作限制为特定的数据类型。将数据类型设置为 UNSPECIFIED,以对所有匹配列执行操作,而不考虑数据类型。
单击下一步。
也可以将作用域限制为键或可为 null 的列。
-
设置转变操作。
-
设置表达式以定义目标值中的替换值。
-
将目标数据类型设置为替换列的数据类型。
-
如果数据类型为 BYTES、STRING 或 WSTRING,请指定长度。
如果数据类型为 NUMERIC,请同时指定精确度和比例。
准备好后单击下一步。
-
-
设置规则的名称,然后单击完成。
使用字典重命名数据集或列
您可以使用字典重命名数据集或列。当您处理大量使用模糊命名约定的对象时,这很有用。您可以在字典编辑器中添加翻译,也可以导入包含翻译的 CSV 文件。您还可以将字典导出为 CSV 文件,并在另一个数据资源中重复使用。
选择重命名数据集或重命名列后,转换操作中可以使用按字典重命名。单击 以打开字典编辑器。
-
单击添加翻译并填写源名称和已翻译名称以将翻译添加到词典中。
创建所需翻译后,单击确定关闭词典编辑器。
导入翻译
您可以从包含字典的CSV文件导入翻译。文件每行应包含一个翻译。示例:
-
单击从 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。
管理规则
您可以在“规则”窗格中管理规则。
-
单击规则。
您可以启用/禁用规则、删除规则和编辑规则。