【问题标题】:Informatica lookup: Trying to find input value of output-only portInformatica 查找:尝试查找仅输出端口的输入值
【发布时间】:2017-04-30 17:54:52
【问题描述】:

在 Informatica (9.1.0) 映射中,查找转换 LKP_TARGET 派生自目标表 TARGET。

查找的条件是:

CUST_ID = in_CUST_ID

LKP_TARGET 有一个端口NewLookupRow,它不是查找的一部分(不是从目标表派生的),没有关联的表达式,仅输出,并且查找中没有其他端口具有引用的关联表达式它。然而,此端口的输出值处于路由器转换的Groups 条件中。

我无法找到此端口如何获得它输出的值。感谢您的建议。

【问题讨论】:

    标签: etl informatica informatica-powercenter


    【解决方案1】:

    NewLookupRow 端口会在您配置动态查找时自动添加。以下是 Informatica 手册的相关摘录。

    NewLookupRows

    当您将查找转换配置为使用 动态缓存,设计器将 NewLookupRow 端口添加到 转型。集成服务为端口分配一个值, 取决于它对查找缓存执行的操作。

    下表列出了可能的 NewLookupRow 值:

    NewLookupRow Value |  Description
    ------------------------------------------------------------------------
    0                  |  Integration Service does not update
                       |  or insert the row in the cache.   
    1                  |  Integration Service inserts the row into the cache.   
    2                  |  Integration Service updates the row in the cache.  
    

    当集成服务读取一行时,它会更改查找缓存 取决于查找查询和查找的结果 您定义的转换属性。它分配值 0、1 或 2 到 NewLookupRow 端口以指示它是插入还是更新行 在缓存中,或不做任何更改。

    NewLookupRow 值指示集成服务如何更改 查找缓存。它不会更改行类型。因此,使用一个 过滤器或路由器转换和更新策略转换 保持目标表和查找缓存同步。

    配置过滤器转换以将新的和更新的行传递给 在将更新策略转换传递给缓存之前 目标。使用更新策略转换来更改行类型 根据 NewLookupRow 值,插入或更新每一行。

    你可以删除不改变缓存的行,也可以通过 他们到另一个目标。

    在过滤器转换中定义过滤条件 NewLookupRow 的值。例如,使用以下条件 将插入和更新的行都传递给缓存的目标:

    NewLookupRow != 0

    【讨论】:

    • 非常感谢。认为它必须是 Informatica 原生的。我的参考文献没有提到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2023-03-23
    • 2021-06-16
    • 1970-01-01
    • 2014-12-11
    相关资源
    最近更新 更多