代码之家  ›  专栏  ›  技术社区  ›  JC97

Pentaho将表中的值与REST api中的数字进行比较

  •  0
  • JC97  · 技术社区  · 7 年前

    我需要使用pentaho为数据仓库创建维度。 我需要将表中的数字与从REST调用中获得的数字进行比较。 如果数字不在表中,我需要将其设置为默认值(999)。我正在考虑使用带有select语句的表输入步骤,以及一个javascript步骤,如果结果为null,则将其设置为999。问题是如果没有结果,就什么都没有通过。如何做到这一点?另一个想法是从该表中获取所有值,并以某种方式将其转换为某些内容,以便我可以在javascript中以数组的形式读取id。我对pentaho DI很陌生,但我做了一些研究,但没有找到我想要的。有人知道怎么解决这个问题吗?如果你需要信息,或者想看到我的转型让我知道!

    步骤如下:

    1. api加载编号
    2. 从表中获取数字
    3. A) 如果数字不在表中->将数字设置为值999

      B) 如果数字在表中->什么都不做

    4. 用该数字继续变换

    我有一台自动取款机: transformation

    但问题是,如果数字不在表中,它将什么也不返回。我试图在javascript中检查number=null或0,然后将其设置为999。

    提前感谢!

    1 回复  |  直到 7 年前
        1
  •  2
  •   AlainD    7 年前

    用查找流替换输入雨水类型表。

    你用一个 rest ,以及带有 Input table Stream Lookup 其中指定 lookup step 是维度输入表。在此步骤中,您还可以指定默认值999。

    查找流的工作方式如下:对于来自主流的每一行,步骤都会查看它是否存在于引用步骤中,并将引用字段添加到该行中。所以总是有一个,也就是一个路过。

    enter image description here