在数据访问窗口中联接表
使用“数据访问”窗口,您最多可以在单个导入操作中导入十个表。
您必须联接这些表以便将它们一起导入。您无法使用一个导入操作分别导入多个表。
如何联接表
对数据访问窗口中的表进行联接是这样一个过程:首先在源数据中最多选择十个表以将其添加到暂存区域,然后对这些表进行两两联接,直到所有表都被联接为止。
您首先使用公共键域联接前两个表,公共键域是一个同时出现在这两个表中的数据元素,如“客户 ID”。如果键域中存在相同的值,则最后会实现匹配,将来自不同表中的各个记录进行联接。
如果您要联接两个以上的表,则首先使用第二个表和第三个表中的公共键域联接这两个表,依此类推,直到所有表都被联接为止。
示例
如果您要联接两个以上的表,则首先使用第二个表和第三个表中的公共键域联接这两个表,并且依此类推,直到所有表都被联接为止。
要装配该数据并将其导入到 Analytics 中,您需要联接源数据系统中的三个表:
- 联接 1 您使用同时出现在客户和订单表中的键域客户 ID 来联接这两个表
- 联接 2 您使用同时出现在订单和产品表中的键域产品 ID 来联接这两个表
在下图中,只有联接 1 已完成,因此第二个联接的图标仍然是红色的。
提示
您可以自己在数据访问窗口中尝试一下此联接示例。使用 Microsoft Access 连接器并连接到 Analytics 随附的以下 Microsoft Access 样例文件:
..\ACL Data\Sample Data Files\Sample.mdb。
联接类型
当您联接表时,您可以从四个不同的联接类型中进行选择。您选择的联接类型可控制将两个原始表中的哪些记录包括在联接表中。
左表和右表
两个原始表被基于您选择它们的顺序标识为“左”和“右”:
- 左表您添加至暂存区域的第一个表
- 右表您添加至暂存区域的第二个表
联接多个表
如果您将两个以上的表添加到暂存区域,则左表位于您要联接的两个表之间的联接图标的左侧,而右表则位于该图标的右侧。
在上面的示例中:
- 联接 1 客户是左表,而订单是右表
- 联接 2 订单是左表,而产品是右表
请注意,订单既可以是右表,又可以是左表,具体取决于我们所讨论的是哪个联接。
联接表中包含的记录
您可以选择在联接表中只包括原始表中的匹配记录,或者您也可以包括非匹配记录。
| 联接类型 | 联接表中包含的记录 | ||||
|---|---|---|---|---|---|
| 匹配的左表记录 | 不匹配的左表记录 | 匹配的右表记录 | 不匹配的右表记录 | ||
|
|
内层 |
|
|
||
|
|
外层 |
|
|
|
|
|
|
左侧 |
|
|
|
|
|
|
右 |
|
|
|
|
使用一个以上的键域联接
如果单个键域中的值不足以唯一而准确地联接表,您可能需要使用一个以上的键域来联接两个表。
示例
您想要按供应商 ID 联接两个表,但某些供应商具有一个以上的地点,而您想要使每个地点的记录分开。为了实现这一目标,您同时使用“供应商 ID”域和“地点”域作为键域。
如果您只使用“供应商 ID”作为键域,则各个供应商地点的记录会混杂在一起。
如果您只使用“地点”作为键域,则不同供应商的记录会混杂在一起。
| 供应商 ID | 位置 |
|---|---|
| A-4538 | 温哥华 |
| A-4538 | Burnaby |
| A-4538 | Richmond |
| B-2204 | 温哥华 |
| B-2204 | Burnaby |
联接来自 Apache Drill 数据源的表
使用数据访问窗口中的可视化编辑器,您可以只联接来自 Apache Drill 数据源的两个表。
要联接来自 Drill 数据源的两个以上的表,您必须使用 SQL 模式并且构建不使用括号的联接语句。
使用可视化编辑器构建的三个或更多个表的联接会将括号放到联接语句中,而从 Drill 导入的操作不支持这样做。