# 在数据管理器中联接表格

联接是一种可用于手动合并两个数据表数据的操作，根据所选配置的不同，产生的结果会有所不同。

与串联相比，这样可以对组合表进行更精细的控制。有关串联的更多信息，请参阅[在数据管理器中串联表格](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenating-tables-in-data-manager.htm) 。

联接操作需要两个表并将它们组合成一个，这将是两个原始表中字段的组合，基于一个或多个公共字段的公共值的重叠。有多个运算符可以应用于联接操作：Outer、Inner、Left 以及 Right。

警告注释联接表占用的内存量仍与其中合并的表相同。过度使用联接表可能会导致 Qlik Sense 速度减慢。在拆分表之前，Qlik Sense 将无法访问联接操作排除的信息。

## 联接运算符

有四种连接运算符：外连接、内连接、左连接和右连接。所选运算符决定包含或排除哪些重叠字段或值。

信息注释当连接运算符引用 Left 和 Right 表时，它们按选择顺序分别引用第一个和第二个表。

### 外部联接

如果重叠字段值在一个或两个表中表示，则 Outer join 运算符包含两个表的所有可能值组合。有关更详细的说明和示例，请参阅脚本参考条目：[Outer](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Outer.htm) 。

示例：

First table

| A | B |
| --- | --- |
| 1 | aa |
| 2 | cc |
| 3 | ee |

Second table

| A | C |
| --- | --- |
| 1 | xx |
| 4 | yy |

联接的表

| A | B | C |
| --- | --- | --- |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |
| 4 | - | yy |

### 内部连接

如果两个表中都呈现了重叠的字段值，则 Inner join 运算符仅包含两个表的值的组合。有关更详细的说明和示例，请参阅脚本参考条目：[Inner](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Inner.htm) 。

示例：

First table

| A | B |
| --- | --- |
| 1 | aa |
| 2 | cc |
| 3 | ee |

Second table

| A | C |
| --- | --- |
| 1 | xx |
| 4 | yy |

Joined table

| A | B | C |
| --- | --- | --- |
| 1 | aa | xx |

### 左侧联接

如果第一个表中呈现了重叠的字段值，则 Left join 运算符包含两个表的值的组合。有关更详细的说明和示例，请参阅脚本参考条目：[Left](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Left.htm) 。

示例：

First table

| A | B |
| --- | --- |
| 1 | aa |
| 2 | cc |
| 3 | ee |

Second table

| A | C |
| --- | --- |
| 1 | xx |
| 4 | yy |

Joined table

| A | B | C |
| --- | --- | --- |
| 1 | aa | xx |
| 2 | cc | - |
| 3 | ee | - |

### 右侧联接

如果第二个表中呈现了重叠的字段值，则 Right join 运算符包含两个表的值的组合。有关更详细的说明和示例，请参阅脚本参考条目：[Right](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Right.htm) 。

示例：

First table

| A | B |
| --- | --- |
| 1 | aa |
| 2 | cc |
| 3 | ee |

Second table

| A | C |
| --- | --- |
| 1 | xx |
| 4 | yy |

Joined table

| A | B | C |
| --- | --- | --- |
| 1 | aa | xx |
| 4 | - | yy |

## 联接表格

通过单击数据管理器中的 the 串联或联接 icon，单击，并选择两个表格，可访问串联或联接窗格。在串联或联接表格中选择表格后，Qlik Sense 将分析字段并自动同时映射匹配的所有字段。如果没有明确的匹配，则字段会保留未映射状态。应用联接时，映射的字段将合并到联接的表中。对于没有对应值的行，未映射字段要么作为具有空值的单个字段包含，要么在没有值的重叠实例时，完全予以排除。

在串联或联接表格中选择的第一个表格将会设置为主要表格，其他表格将会联接到此表格。除非手动重命名，否则联接表将使用主要表格中的表格名称和字段名称。可以使用 the 交换 icon 按钮更改哪个表格用作主要表格。串联或联接表格会将字段排列为两行，顶行中为主要表格字段，底行中为辅助表格字段。可以使用 the 交换 icon 按钮交换主要表格和辅助表格。

可以使用编辑映射来更改默认映射，以及选择要映射、保留未映射状态或从联接表中排除的字段。编辑映射包含一个用于编辑映射的拖放界面和用于列出所有表格字段的字段窗格。可通过将字段拖动到主要表格字段下方来映射字段。通过字段窗格中字段旁边的 the 拖动 icon 或将字段拖动到字段的顶行，可以将字段添加为新的未映射字段。使用字段窗格中的 the 警告 icon 标记未映射字段。从联接表中移除的字段不包含在表格中，并且在对表格应用联接之后将无法用于 Qlik Sense。

应用映射并联接表后，您无法编辑映射的字段，但可以通过拆分联接的表将其从表中删除，从而将表恢复到原始状态。

要在数据管理器中联接表，请执行以下操作：

1. 选择表格进行联接。
2. （可选）重命名联接表格和字段名称。
3. （可选）编辑映射。
4. 选择联接运算符。
5. 联接表格。

### 选择表格进行联接

执行以下操作：

1. 在数据管理器中，单击底行中的 the 更多 icon。

2. 单击串联或联接。

   串联或联接窗格将打开。

3. 选择两个表格。

   在串联或联接表格窗格中，两个表格的字段将被映射或保留为不映射。

4. 要预览每个字段中唯一值的示例，请单击 the 视图 icon。

5. 要切换主要表格和辅助表格，请单击 the 交换 icon。

### 重命名表格和字段名称

执行以下操作：

1. 在串联或联接窗格中，在表格名称字段，输入新的表格名称。
2. 在字段名称字段中，输入新的字段名称。

### 编辑映射

执行以下操作：

1. 在串联或联接窗格中，单击编辑映射。
2. 要映射两个字段，请单击表格字段并将其拖动到主要表格字段下方。
3. 要添加新的未映射字段，请单击表格字段并将其拖动到字段的上行。
4. 要从联接表中移除字段，请在该字段中单击 the 取消 icon。
5. 要将移除的字段恢复到表格，请在字段窗格中单击，然后单击字段旁的 the 拖动 icon。
6. 单击编辑映射以关闭编辑映射。

### 选择联接运算符

执行以下操作：

1. 在串联或联接窗格中，单击选择操作。
2. 从列表中选择一个运算符：Outer join、Inner join、Left join 或 Right join。

### 联接表格

执行以下操作：

* 在串联或联接窗格中，单击应用。

现在表格即被联接。

## 拆分联接表

在不再需要联接的情况下，您可以将联接的表拆分为它们的源表。

信息注释

拆分联接表将删除联接表的任何关联以及主表和次表之间的任何关联。如果要在拆分联接表时保留关联，请单击 the 撤消 icon 撤消联接而不拆分表格。在数据管理器中加载数据后，将无法使用 the 撤消 icon 撤消联接。

### 拆分联接表

执行以下操作：

1. 选择联接表。

2. 单击 the 拆分 icon。

串联表格现已拆分为其源表格。源表格中的所有字段都使用联接前的名称。拆分联接表只会拆分一个联接级别，因此任何属于拆分联接表的联接表都会保留自己的联接。

相关学习内容：

* [数据管理器关联、 串联和连接](https://help.qlik.com/lnk/Data_Manager_Assocs_Concats_Joins_QS)

## 了解详情

* [数据管理器关联、 串联和连接](https://help.qlik.com/lnk/Data_Manager_Assocs_Concats_Joins_QS)