本文主要是介绍使用LookUp 函数的好处,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用LookUp 函数的好处
转自:http://informatica.iblog.com/post/3070/31803
Lookup是Powercenter里用的较多的一个模块,其实如果没什么性能特别要求,Lookup函数相对Lookup模块是一个很灵活的选择,它具有灵活的的使用方式,就像一个sql的子查询,可以在表达式里需要查找的地方灵活的调用。
当使用了Lookup函数时,建立session时需要指定$Source与$Target,该函数不能在mapplet中使用。
语法:
LOOKUP( result, search1, value1 [, search2, value2]... )
result及search为查找表的两个字段,在函数中需要使用:TD.为前缀。
例:
LOOKUP( :TD.SALES.ITEM_NAME, :TD.SALES.ITEM_ID, 10, :TD.SALES.PRICE, 15.99 )
以上的例子,即表示在SALES表中进行查找ITEM_ID=10 and PRICE=15.99 的记录,返回其ITEM_NAME值
在Mapping中使用该函数时,最重要的一点是查找表SALES是如何设置,因为帮助中没有指出,所以这一点大家应记住,查找表是以目标表的方式存在于Mapping中的,也就是说,当使用Lookup函数时,需要从Targets中把查找表拖入Mapping中。那么在Mapping中使用Lookup函数时,其查找表即是刚才拖入的目标表定义。该目标表定义不需要做任何设置,只需要放在Mapping中即可。
Lookup函数是一个很灵活的函数,使用好了可以很好的降低Mapping的复杂度,以及提高Mapping的可读性。
Informatica中要实现Lookup有三种方式:用Lookup模块,可以有连接方式与非连接方式两种,Lookup函数方式。
用Lookup模块,连接方式也就是我们最常见的方式。
非连接方式也就是在Mapping放一个Lookup模块,但不与任何模块有线条连着。在其他模块中用类似
:LKP.LKPTRANS_XXX(...)方式调用。
Lookup函数是Informatica提供又一种灵活的查找方式。可以不基于Lookup模块使用。即直接对着表进行查找。只要把需要查找的表从目标表里找出,放到Mapping里即可。而调用方式是
LOOKUP( :TD.SALES.ITEM_NAME, :TD.SALES.ITEM_ID, 10)
这篇关于使用LookUp 函数的好处的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!