【问题标题】:How to use ISNULL on multiple fields in a Infromatica filter condition?如何在 Informatica 筛选条件中的多个字段上使用 ISNULL?
【发布时间】:2020-05-29 20:34:25
【问题描述】:

我有一个场景,我必须根据我 informatica 是否将记录加载到目标中来检查多个字段中的空值。

示例:我有 col1、col2、col3、col4 字段。如果这些字段中的任何一个为空,则忽略该记录,否则加载记录。

请建议我如何处理这种情况。

TIA!

【问题讨论】:

    标签: etl informatica informatica-powercenter


    【解决方案1】:

    创建一个带有名为 e.g. 的输出字段的表达式ToBeRemoved 具有以下表达式:

    DECODE(TRUE,
    ISNULL(col1), 1,
    ISNULL(col2), 1,
    ISNULL(col3), 1,
    ...
    ISNULL(colN), 1,
    0)
    

    接下来使用条件为ToBeRemoved=0的过滤器。

    【讨论】:

      【解决方案2】:

      你可以把所有的字段串联起来,如果结果为空则表示至少有一列是空的:

      NOT ISNULL(col1||col2||col3||col4)

      【讨论】:

        【解决方案3】:

        您可以在过滤器/路由器中使用以下条件,

         ISNULL(col1) OR
         ISNULL(col2) OR
         ISNULL(col3) OR
         ISNULL(col4)
        

        这是一种在性能方面具有成本效益的方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-11
          • 2013-08-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多