Sql BOM匹配算法

Sql BOM匹配算法,sql,algorithm,Sql,Algorithm,我整天都在思考这个问题,想听听其他人对这个问题的看法 我最近遇到了这个问题,涉及到匹配相似的物料清单(BOM)。我一直在思考如何最好地通过编程实现这一点 假设有一个由多个零部件组成的装配零件(部件)。为简单起见,我们将假定程序集只下降一级。假设我想创建一个函数,根据BOM表的相似性返回所有相似的部件。我假设相似度等级为1意味着BOM表是相同的,部件由相同数量的零部件组成。另一方面,等级为0意味着没有相似之处。根据程序集相似性,排名将在1到0之间。我不仅会根据相同的零件号,也会根据相同的零件数量对

我整天都在思考这个问题,想听听其他人对这个问题的看法

我最近遇到了这个问题,涉及到匹配相似的物料清单(BOM)。我一直在思考如何最好地通过编程实现这一点

假设有一个由多个零部件组成的装配零件(部件)。为简单起见,我们将假定程序集只下降一级。假设我想创建一个函数,根据BOM表的相似性返回所有相似的部件。我假设相似度等级为1意味着BOM表是相同的,部件由相同数量的零部件组成。另一方面,等级为0意味着没有相似之处。根据程序集相似性,排名将在1到0之间。我不仅会根据相同的零件号,也会根据相同的零件数量对相似性进行排序,但为了简单起见,我现在可以忽略数量

你将如何处理这个问题?我使用SQL,但我也只是从高级算法的角度好奇。

一个众所周知的指标是。考虑将它应用到这个域。

然后,人们可以通过多种方式查看相似性,最简单的方法是将BOM1中的组件集与BOM2中的组件集进行比较,忽略组件计数。因此,对于相同的集合,相似度为1,对于仅添加到其中一个集合的每个项目,相似度都会降低。Jaccard相似度将交集的大小除以并集的大小

现在把部件数量放回去,所以BOM1中的2个螺栓加3个螺母的尺寸为5。同样,您可以定义相似性,这一次是查看多集的交点和并集。在您的领域中,您可能希望以不同的方式对其进行加权,以便将新零件的第一个单位添加到BOM中会产生较大的更改,而将该零件的第二个单位添加到BOM中会产生较小的更改。

一个众所周知的度量是。考虑将它应用到这个域。

然后,人们可以通过多种方式查看相似性,最简单的方法是将BOM1中的组件集与BOM2中的组件集进行比较,忽略组件计数。因此,对于相同的集合,相似度为1,对于仅添加到其中一个集合的每个项目,相似度都会降低。Jaccard相似度将交集的大小除以并集的大小


现在把部件数量放回去,所以BOM1中的2个螺栓加3个螺母的尺寸为5。同样,您可以定义相似性,这一次是查看多集的交点和并集。在您的领域中,您可能希望以不同的方式对其进行加权,以便将新零件的第一个单位添加到BOM中会产生较大的更改,而将该零件的第二个单位添加到BOM中会产生较小的更改。

您太棒了,这是一个很好的潜在客户。谢谢你太棒了,这是一个很好的线索。谢谢