您可以通过选择表 > 连接将两个数据表合并为一个新表。有关如何连接两个数据表的全面说明,请参见要将两个数据表连接为一个新数据表,请执行以下步骤:。可以采用三种不同的方式连接表:
• 根据行号合并表。请参见按行号连接的示例。
• 在笛卡尔方式中,构成的新表包含两个原始表中行的所有可能组合。请参见笛卡尔连接的示例。
• 通过匹配两个数据表或单个数据表中存在的一个或多个列中的值。请参见按匹配列连接的示例。
注意:“表”菜单中的“JMP 查询生成器”选项提供一个选项来在执行简单连接前查询数据。请参见使用 JMP 查询生成器查询和连接数据表。
要将两个数据表连接为一个新数据表,请执行以下步骤:
1. 打开要连接的两个数据表。
2. 选择表 > 连接。
在出现的窗口中,所有打开的表的名称显示在与“...”连接的副表下。
图 6.22 “连接”窗口
3. 在与“...”连接的副表框中,选择要与活动表连接的表。
4. 从匹配方式区域中,选择指定如何连接表的选项。
5. 在输出表名称旁边的文本框中输入新表的名称。
6. (可选)使用附加选项进一步定制连接过程。
7. 点击确定创建连接数据表。
保持对话框打开
点击确定后保持“连接”窗口打开。
将脚本保存至源表
将脚本保存到原始数据表,这允许您使用相同的设置再次连接数据。
保留主表顺序
在连接表中保持原始数据表的顺序,而不是按匹配列排序。默认选定该选项。
使用次表中的数据更新主表
原始表中的数据将使用具有相同名称的列中的数据进行更新。结果显示在新数据表中。原始表中的数据将使用具有相同名称的列中的数据进行更新。
请注意以下事项:
‒ JMP 不会使用缺失值替换数据。
‒ 输出表使用与原始表相同的列。因此,当您使用使用次表中的数据更新主表时,选择连接表中要包含的列不适用。
‒ 仅当按行号或按匹配列连接表时,使用次表中的数据更新主表选项才可用。
合并具有相同名称的列
第二个表中的列数据替换原始表中同名列的数据。请注意,第一个表中的缺失值将被第二个表中的非缺失值替换。
若您当前是按列进行匹配的,则在您选择合并具有相同名称的列时,匹配标志会被选中。新连接的表格将包含一个名为匹配标志的名义型列:
‒ 若该列中显示 Main,则数据源自第一个(活动)表。
‒ 若该列中显示 With,则数据源自第二个表。
‒ 若该列中显示 Both,则数据同时可在第一个表和第二个表中找到。
匹配标志
确定按列匹配时是否创建了匹配标志列。当您选择合并具有相同名称的列时自动选定该选项。
复制公式(主表和次表)
在输出列中包括主表和/或次表中的公式。默认选定该选项。
禁止公式计算(主表和次表)
在创建新表期间阻止 JMP 对列公式求值。默认选定该选项。
按匹配列
要连接行,请选择两个表中的值和数据类型都匹配的列。按以下步骤执行:
1. 在源列区域的每个列表中突出显示一个列名。顶部列表中第一个突出显示的列与底部列表中第一个突出显示的列相配对,依此方式匹配两个列表中的第二列以及之后所有列。仅当所有配对列的值和数据类型都匹配的情况下,才会连接行。
2. 点击匹配。选定的一对列显示在匹配列框中。匹配的列不一定同名,也不一定在两个表中处于相同的相对列位置。
3. (可选)若要仅包括首次匹配,请选中两个表中与删除重复项关联的框。这样只会将首次匹配写入新表。若为一个表指定该选项,则第一个匹配值将与另一个表中的所有匹配项相连接。若两个表中均不选中与删除重复项关联的框,则在每组匹配列值内执行笛卡尔连接。
4. (可选)若要包括数据表中的所有行,则在没有匹配值的情况下,也要选中与包含不匹配项关联的框。您可以为要连接的任一个表或同时为两个表指定该选项。
按行号
并排连接两个表。
笛卡尔连接
使用笛卡尔方式连接两个表,这种方式将构成一个新表,其中包含两个原始表中行的所有可能组合。JMP 将第一个表中的数据与第二个表中的数据交叉,以显示每组数据中值的所有组合。
选择连接表中要包含的列
从要包括在输出表中的任意一个表选择列的子集。按以下步骤执行:
1. 在源列区域中,突出显示每个表中要包括在新表中的列。
2. 在输出列区域中点击选择。
输出表名称
指定已连接的表的名称。