Informatica 有条件的

Posted

技术标签:

【中文标题】Informatica 有条件的【英文标题】:Informatica conditional 【发布时间】:2018-08-07 16:24:08 【问题描述】:

我正在尝试向我的表达式表 (exp_source) 添加一些逻辑。基本上,如果o_field_digital__c 字段为“是”,则将其更改为“Y”。如果它是“否”,则将其更改为“N”,如果它为空,则将其留空。我输入了以下内容及其显示的语法错误

IIF(o_Field_DRC_Choice_Eligible__c = 'Yes', 'Y')
IIF(o_Field_DRC_Choice_Eligible__c = 'No', 'N')

你能解决这个问题吗?我只需要一份 IIF 声明吗?这显然有语法错误

【问题讨论】:

【参考方案1】:

首先您需要了解它是一个转换而不是一个表格。

第二,你不能改变一个输入端口的值——你只能创建一个新的计算变量或输出端口

最后... IIF 语法是 IIF(条件,返回真,返回假)

如您所见,您没有为 return false 参数提供值,具有讽刺意味的是,您应该在其中嵌套后续 IIF。此外,您还必须指定在嵌套 IIF 的缺失返回部分中留空。

为了纠正你需要嵌套它们

IIF(o_Field_DRC_Choice_Eligible__c = 'Yes', 'Y', IIF(o_Field_DRC_Choice_Eligible__c = 'No', 'N', '')) 

【讨论】:

我只想添加一件事:确保 o_Field_DRC_Choice_Eligible__c 不是仅输出端口(顾名思义),因为您无法基于仅输出端口创建表达式。跨度> 是的。当我逐字复制时甚至没有注意到端口名【参考方案2】:

您可以使用以下逻辑来达到目的,如果没有条件匹配,则默认输出为空白:

DECODE(true,
o_Field_DRC_Choice_Eligible__c = 'Yes','Y',
o_Field_DRC_Choice_Eligible__c = 'No', 'N',
ISNULL(o_Field_DRC_Choice_Eligible__c),'',
'')

【讨论】:

以上是关于Informatica 有条件的的主要内容,如果未能解决你的问题,请参考以下文章

Informatica将多个连接的查询拆分到1个目标表的同一字段。

Informatica参考

当您有可变数量的透视行时,如何使用 Informatica 透视数据?

informatica中,lookup组件有哪几类?区别是啥

informatica 聚合器路由器和表达式

Informatica 是不是可以将值从 informatica 映射动态传递到 oracle 中的视图