如何比较 Pentaho 中连续的每个元素

How compare every element in a row in Pentaho

我有一个 Excel 并且有一个外观示例 enter image description here

我正在使用 Pentaho,目的是创建一个新行(相关),我将在其中显示一个人是否与另一个人有关系,如果两个人有相同的 Dirección(地址)。例如,María Isabel Hevilla Castro 和 Miguel Manceras Fernández 住在同一个地方,那么与 María Isabel Hevilla Castro 相关的将是 Miguel Manceras Fernández,相反,在 Miguel Manceras Fernández 它将是 María IsabelHevilla Castro。

我曾尝试使用 Javascript 修改值来解决这个问题,但我才刚刚开始学习 Javascript,我不知道如何解决这个问题。 谁能帮帮我,或者给我一个线索。

正如您已经提到的,使用 Python、R 或 Javascript 之类的循环可能会更好。

Pentaho 从根本上设计用于逐行处理数据。 Pentaho 中没有那么多函数可以让你对一列数据进行分析。

如果你必须为此使用 Pentaho 而不是像 Python 或 Javascript 这样的东西,那么我建议在 Direccion 列上排序,然后使用 Analytic query 步骤跨行分析。这可能只有在每个地址最多有两个人的情况下才有效,但这可能会让你到达你需要去的地方。

如果您的地址是干净的,您可以在 Dirección 上自行加入。

想法是按方向排序,然后复制流,将名称字段重命名为其他名称(Nombre2 或 Related_to),然后按方向在内部加入它们。这将导致具有相同方向的每个组合的记录,包括人本身。这是通过过滤行来解决的,只保留 Nombre 不等于 Nombre2 的行。

可以通过预先清理地址字段(计算器步骤可以进行相似性评分)或之后对 related_to 字段进行额外处理来扩展基本流程。