Pentaho 水壶 - 获取所有单词组合

Posted

技术标签:

【中文标题】Pentaho 水壶 - 获取所有单词组合【英文标题】:Pentaho kettle - get all combination of words 【发布时间】:2020-09-08 18:07:31 【问题描述】:

如何通过 pentaho 水壶获得所有可能的单词组合。有没有这样的步骤?

例如 - 如果我有 3 个单词 Apple 、 Banana 、 Orange

我需要这些词的所有独特组合,即

comb1 = 苹果; Comb2 = 香蕉; Comb3 = 橙色; Comb4 = 苹果 + 香蕉; Comb5 = 苹果 + 橙子; Comb6 = 香蕉 + 橙子; Comb7 = 香蕉 + 苹果; Comb8 = 橙子 + 苹果; Comb9 = 橙子 + 香蕉; Comb10 = 苹果 + 香蕉 + 橙子; Comb11 = 苹果 + 橙子 + 香蕉; Comb12 = 香蕉 + 橙子 + 苹果; Comb13 = 香蕉 + 苹果 + 橙子; Comb14 = 橙子 + 苹果 + 香蕉; Comb15 = 橙子 + 香蕉 + 苹果;

我需要它是动态的,即根据提供的单词数量生成组合。

谢谢!

【问题讨论】:

对于固定的单词集,您可以创建逻辑并生成它。 看看这个***.com/a/63809192/8307456是否回答了你的问题 【参考方案1】:

在 PDI 中,您需要使用“Modified Java Script Value”步骤。因为没有默认的 PDI 步骤来执行此操作。我为你准备了一个转变。您可以从这种转变中获得帮助。 Link

【讨论】:

谢谢...这很有帮助。唯一的问题是我们可以为每个组合预先添加“comb1 =”吗?梳后的数值将以+1的方式增加,就像我在我上面的问题中提到的那样。这取决于组合的数量。我尝试如下修改,但它总是给出“Comb0 =”。 perm.push("Comb"+ k +"=" + curr_perm); 这意味着您想要的最终结果应该是第一行是“com1=Apple”,第二行是“com2=Banana”......? 我已经修改了转换。请重新下载。为了您更好地理解 PDI,我使用 PDI 步骤进行了此操作。 ...非常感谢。它帮助很大。

以上是关于Pentaho 水壶 - 获取所有单词组合的主要内容,如果未能解决你的问题,请参考以下文章

pentaho水壶:从流中获取行数

无法在 Pentaho 水壶中获取电子邮件附件

在 pentaho CDE 中通过kettleTransFromFile 将参数传递给 pentaho 水壶

在 Pentaho 水壶中,如何检查文件名是不是存在?

由于缺少插件,Pentaho 水壶无法运行转换

克隆和构建 Pentaho 水壶