历史版本4 :关联失败排查 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题现象

配置关联之后更新,更新日志产生报错,报错截图示例如下图所示:

  • 报错 关联生成错误 - 与  零售行业/销售明细[店号] 的关联生成失败,关联字段[店号]数据重复,如下图所示:

124.png

  • 报错 关联生成错误:RelationPrimaryFieldNotDistinctException: 错误代码:62400405业务包业务包中数据连接_流水数据表的[店名]字段(和业务包业务包店铺数据表的[店名]字段)不符合一对多/多对一/一对一对应关系,无法成功生成关联关系: packageName :业务包 entryInfoName :店铺,如下图所示:

125.png

  • 报错 左右合并出现同样的数据重复出现或是数据总行数变多

1.2 原因分析

出现重复数据,本该字段唯一的字段不是唯一,导致报错。

2. 解决方案编辑

本章示例中表「关联测试」与表「门店维度」的关联如下图所示:

image.png

2.1 添加组件

1)将关联的两张表分别制作分组表,将关联字段或左右合并的字段添加进横轴,记录数添加进纵轴,如下图所示:

image.png

添加完组件后如下图所示:

image.png

2)将两个组件的记录数进行降序排序,如下图所示:

image.png

排序后记录数最大值在首行,如下图所示:

image.png

2.2 排查故障

通过查看记录数最大值排查表格问题:

1)若使用 N:1或1:N 关联,关联表为 1 的一端分组表组件中,记录数值最大为 1 ,否则报错。

2)若使用 1:1 关联,关联关系两端的表记录数最大值均需要小于等于 1 ,否则报错。

3)若是使用左合并,右表合并的字段唯一,记录数最大为 1 ;使用右合并,左表合并的字段唯一,记录数最大为 1 ,否则报错。

在该示例中,「关联测试」:「门店维度」=N:1 。所以当「门店维度」中「店名」的字段唯一即「记录数」字段中最大值为 1 时,不会报错。