上一页|下一页

自动连接功能的工作原理

功能概述

SAS Visual Data Builder 会在您向工作区添加表和数据查询时尝试对其进行自动连接。将某个表或数据查询拖放到工作区中后,将从 SAS Metadata Server 检索该表或数据查询的信息。对于子查询,会检索子查询输出表的元数据。

使用外键和主键

若您拖放到工作区中的表已在元数据中注册主键或外键信息,则数据生成器会检索这些外键和主键信息。
随后将按各表添加到工作区中的顺序对工作区中已有的各表进行迭代。数据生成器会检索表的外键和主键信息,并与新增表的键列进行长度、类型和名称的比较。若找到匹配项,则这些表将用在连接中,并且列将作为连接条件添加。数据生成器继续搜索两个表之间的匹配项,并在可能的情况下添加连接条件。一旦确认一组连接表,数据生成器就不会再继续对工作区中已有的各表进行迭代。

按名称匹配

若拖放到工作区中的表不具备外键或主键信息,则数据生成器不会使用已放入工作区的表的外键或主键信息。
数据生成器会检索新增表中所有列的列信息,随后将按各表添加到工作区中的顺序对工作区中已有的各表进行迭代。数据生成器会将每列的长度、类型和名称与新增表中的每列进行比较。若找到匹配项,则这些表将用在连接中,并且列将作为连接条件添加。数据生成器不会继续搜索两个表之间的匹配项,也不会继续对工作区中已有的各表进行迭代。

选择连接类型

当数据生成器通过比较键或匹配名称找到第一组匹配列时,它会为这两个表设置连接类型。数据生成器检查这些列的元数据以确定列是否可为空,(使用 SQL 在数据库中创建表时,许多第三方厂商数据库都支持 NOT NULL 作为列约束。该约束可确保列中没有缺失值。) 并通过执行以下步骤设置连接类型:
  1. 若现有表的列不可为空,但新增表的列可为空,则这些表使用左连接。
  2. 若现有表的列可为空,但新增表的列不可为空,则这些表使用右连接。
  3. 若现有表和新增表的列均可为空,则这些表使用全连接。
  4. 若不符合以上任何条件,则这些表使用内连接。
您可以通过右击连接图标(连接图标)且从菜单中选择一个连接类型来指定连接类型。
上一页|下一页|页首