在数据网格中查看联接结果
在画布上创建了联接之后,请查看数据网格,确保联接生成了预期结果。如果数据网格未显示预期数据,您可能需要修改联接。
数据网格中的结果
无数据: 如果数据网格中未显示数据,您可能需要更改联接类型或联接条件中使用的联接字段。如果您怀疑联接中的字段不匹配,请改用计算。有关详细信息,请参见使用计算来解决联接中字段之间的不匹配问题。
重复数据:如果您看到重复的数据,则可以进行一些操作。考虑使表关联而不是联接。有关详细信息,请参见“关联您的数据”(链接在新窗口中打开)。
缺少数据: 如果数据网格中缺少某些数据,您可能需要更改联接类型或联接条件中使用的联接字段。同样,如果您怀疑联接中的字段不匹配,请改用计算。有关详细信息,请参见使用计算来解决联接中字段之间的不匹配问题。
多个 Null 值: 如果看到多个不需要的 null 值,您可能需要将联接类型从完全外部联接类型更改为内联接类型。
一个表都是 Null 值: 如果一个表的所有值均为 Null,则所联接的表之间没有匹配项。如果这不是预期结果,请考虑更改联接类型。
使用计算来解决联接中字段之间的不匹配问题
如果联接条件中的字段不匹配 — 即联接条件中使用的字段中的值不匹配,则数据网格可能只会显示很少数据,或者根本不显示数据。字段之间的不匹配可能会由于多种原因而发生,但通常由字段中的字符串值或日期值格式之间的不匹配所引起。在许多情况下,您可以使用计算解决联接字段之间的不匹配问题。
大多数函数可供您在计算中使用以创建和替换联接条件中的字段,但聚合函数和表计算函数除外。
注意:QuickBooks Online、Marketo、Oracle Eloqua、Anaplan、 ServiceNow ITSM 和 Web 数据连接器不支持联接计算。
字符串不匹配
在联接条件一侧的其中一个字段等于联接条件另一侧的两个或更多个字段时,会发生使用字符串数据时常见的不匹配情况。在此情况下,可以使用计算来合并这两个字段,以使其格式与联接条件中的其他字段匹配。
例如,假设要联接包含以下数据的两个表:
顾客 | Contact | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
这两个表之间的公共字段似乎是姓名。但是,在“Patron”表中,名字和姓氏在单独的列中,在“Contact”表中,名字和姓氏在同一列中。若要针对姓名联接这些表,您可以在联接条件左侧使用计算将名字和姓氏列合并在一起。
结果是一个只能从联接对话框访问的联接条件左侧的计算字段。此计算将“Patron”表中的字段转换为一种格式,该格式现在与联接条件右侧“Contact”表中字段的格式匹配。
在联接中使用计算会生成以下组合表:
First name | Last name | 分支 | 成员开始日期 | Units borrowed | Fees | Suggested limit | 名称 | Phone number |
---|---|---|---|---|---|---|---|---|
Alan | Wang | North | 2000 | 1 | 0 | 15 | Alan Wang | 555-0356 |
Fred | Suzuki | North | 2000 | 52 | .90 | 15 | Fred Suzuki | 555-0188 |
日期不匹配
当一个联接条件字段中的日期值的获取详细级别不同于另一个联接条件字段的日期值获取详细级别时,会发生使用日期数据时常见的不匹配情况。在此情况下,您可以在联接条件中使用计算来更改联接条件一侧中的字段格式,以使其格式与联接条件中的其他字段匹配。
例如,假设您具有以下两个数据表:
Projector rental | 顾客 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
为了了解有关新顾客行为的详细信息,将“Patron”表与“Projector Rental”表联接可对有关哪些图书馆服务可促成新会员资格进行一些深入分析。这两个表之间的公共字段似乎是“Date”和“Member since”。但是,每个字段中的日期值的捕获详细级别不同。若要针对各个表各自的日期字段来联接这些表,请在联接条件的每一侧的计算中使用 DATE 函数的组合来使每个字段中的详细级别匹配。
| DATE('01/01/'+STR([Member since])) |
在联接中使用计算会生成以下组合表:
日期 | 保留类型 | 请求者 ID | ID | First name | Last name | 分支 | 成员开始日期 | Units borrowed | Fees | Suggested limit |
---|---|---|---|---|---|---|---|---|---|---|
1/1/2000 | 单个 | 233445589 | 232502870 | Alan | Wang | North | 2000 | 1 | 0.00 | 15 |
1/1/2000 | 单个 | 233445589 | 233445589 | Fred | Suzuki | North | 2000 | 52 | 0.90 | 15 |
1/1/2000 | 单个 | 233445589 | 233445566 | Ashley | Garcia | 南部 | 2000 | 243 | 11.30 | 15 |
1/1/2000 | 单个 | 233445589 | 233448978 | John | Smith | North | 2000 | 36 | 3.50 | 15 |
若要确定某位顾客是否在其成为会员的当年租赁了投影仪,请基于 ID 向联接中添加另一个子句。
附加联接条件的结果表明只有一个顾客可能已经开始用他的会员资格租赁投影仪。
日期 | 保留类型 | 请求者 ID | ID | First name | Last name | 分支 | 已联接 | Units borrowed | Fees | Suggested limit |
---|---|---|---|---|---|---|---|---|---|---|
1/1/2000 | 单个 | 233445589 | 233445589 | Fred | Suzuki | North | 2000 | 52 | 0.90 | 15 |