使用字段映射控件
将几个输入数据集合并到一个输出数据集时,应考虑字段结构和内容。每个输入数据集都将包含一些同样存在于其他输入数据集中的字段,以及一些只唯一存在于该数据集中的字段。这些字段的管理方式确定了输出数据集中的字段结构和内容。“字段映射”控件可用于定义此输出数据集字段结构。
所有输入数据集字段都将被映射到输出数据集中。如果在所有输入之间存在字段重复的情况(只根据名称),则输出数据集字段将是每个情况的组合。所有唯一输入数据集字段(不存在于其他输入输入数据集字段中)也会被映射到输出数据集中。
一个字段地图的子字段可能属于不同数据类型。在这种情况下,输出字段的数据类型被设置为第一个输入数据集的数据类型,并且所有其他子字段也被投射到此类型。例如,第一个输入字段为文本,第二个输入字段(与第一个输入字段同名)为双精度。输出数据类型将为文本,并且会将第二个输入字段中的值转换为此类型。可能会出现无法转换的情况,在存在问题的情况下执行转换操作会产生错误。例如,BLOB 字段不能被转换为 BLOB 以外的任何数据类型。另外,如果要将字母数字字段转换为数值类型,则可能必须将该字段截断(所声明的起点和终点),以移除该字段值的字母部分。
字段映射以图形方式显示在目录树中。所有根(顶级)条目都是输出数据集字段。您将看到它们的名称和默认的输出数据类型。默认的输出字段数据类型与第一个输入的数据类型相同。
每个顶级条目均可展开。展开后,将显示从中收集数据以填充输出字段的所有子字段。每次在输入数据集中显示一个字段时(按名称显示),都会出现一个子字段条目,用于说明该字段的源和数据类型。所出现的第一个输入数据集的字段将第一个显示在子字段列表中。
这是输出数据集字段的默认结构。您可随时添加或删除输入数据集;添加、删除或重命名输出数据集字段;以及添加、删除、重命名子字段或为其自定义格式。
修改默认字段映射
您可随时修改默认的字段映射结构。可添加、删除或重命名输出字段。也可添加、删除或重命名子字段;如果是文本输出字段,则可对其进行格式化。在字段映射树视图中,可使用快捷菜单(可通过右键单击所选字段、子字段或空白区进行访问)进行修改。
输出字段的快捷菜单包含以下选项:添加输入字段、删除、重命名和属性。
- 添加输入字段可打开一个列有所有输入数据集字段的对话框。选择一个可用字段可将其添加到所选输出字段的子字段列表中。
- 删除可将所选字段从输出数据集中移除。
- 重命名用于更改输出字段的名称。
- 属性用于更改所选字段的属性。您可更改字段的名称、类型、类型属性、合并规则和分隔符(如果选择“连接”合并规则)。
子字段的快捷菜单包含以下选项:删除和格式(仅适用于文本字段)。
- 删除可移除所选子字段。如果删除的是第一个子字段,则输出字段的数据类型不会为反映新的第一个位置子字段而发生变化。如果要更改输出字段的数据类型,则必须手动执行此操作(使用属性对话框),或使用字段映射窗口快捷菜单中的重置选项。
- 格式用于更改字段宽度、起始位置和结束位置,然后将更改内容应用到同名的所有其他子字段。
如果字段宽度变小,则输出行值会被截断以适应新宽度。如果起点和终点的值被更改,也会出现截断现象。起始位置值是要截断行值的起点。行值宽度的起始值为 0。
系统会在指定点将长于结束位置值的那些值截断。例如,一个行值为“environment”、宽度为 12、起始位置为 3、结束位置为 7 的文本字段,将在输出字段中显示为“ironm”。
字段映射窗格(空白区)的快捷菜单包含以下选项:添加输出字段和重置。
- 添加输出字段用于添加新字段。将打开第二个对话框,您可在其中更改名称、数据类型、数据类型属性、合并规则和分隔符(如果选择“连接”合并规则)。
- 重置选项会将所有输出字段属性重新设置为默认值。所有修改内容将会被移除。
合并规则
您可使用各输出字段来设置某些属性,如名称、类型及合并规则。合并规则用于指定如何将两个或更多个输入字段(子字段)的值合并为一个输出值。空值将被排除在所有统计计算之外。有以下几个合并规则可供使用:
- 第一个 - 使用第一个子字段的值填充输出字段的行。
- 最后一个 - 使用最后一个子字段的值填充输出字段的行。
- 连接 - 串连(连接)所有子字段值并使用该值填充输出字段的行。可使用分隔符将不同的输入值分开。如果不使用分隔符,所有值都将被连接到一个连续的字符串中。
- 总和 - 计算所有子字段值的和,然后除以输入子字段的个数。
- 平均值计算所有子字段值的平均值(均值),然后使用计算结果填充输出字段的行。
- 中值 - 计算中(中间)值,然后使用该值填充输出字段的行。中值即中间值,用于将整组值平分为较低值和较高值。如果值的个数为偶数,则会使用两个中间值的平均值。例如,1、6、7、100 的中值是 6.5。
- 模式 - 使用具有最高频率的值(最常见)。如果存在多个具有最高频率的值(即平局),则会存储“模式”值的列表(第一个最小值表示数字;第一个字母值表示文本),然后使用第一个“模式”值。
- 最小值 - 找出所有子字段的最小值,然后用其填充输出字段的行。
- 最大值 - 找出所有子字段的最大值,然后用其填充输出字段的行。
- 标准差 - 对所有子字段值使用标准差分类方法。
不应对单个输入执行标准差计算,因为数值不能被零除,因此标准差不适用于单个输入。如果为仅包含一个子字段的输出字段选择标准差,“合并”工具将不会失败。在这种情况下,将在输出字段的行中输入值 0。
- 计数 - 找到包含在统计计算中的值的数目。计数范围包括除空值外的每个值。
在脚本中设置“字段映射”参数
在脚本中,可采用以下方法之一完成字段映射:
- 为字段映射参数输入字符串值 - 仅当字段数较少且需要对字段进行很少的更改(如果有的话)时,才会建议使用此方法。
- 创建和使用 FieldMappings 对象。