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 透视数据?