Lookups in ODI

Hi ,
Is there is any Lookup Transformation,Router (like informatica) avilable in ODI.
Thanks.

Maybe not in 10G but there is LOOKUP functionality in 11G
*"Lookups*
*A wizard is available in the interface editor to create lookups using a source as the driving table and a model or target datastore as the driving table. These lookups now appear as a compact graphical object in the Sources diagram of the interface. The user can choose how the lookup is generated: as a Left Outer Join in the FROM clause or as an expression in the SELECT clause (in-memory lookup with nested loop). This second syntax is sometimes more efficient on small lookup tables.*
*This feature simplifies the design and readability of interfaces using lookups, and allows for optimized code for executing lookups."*
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • Did it possible To do Sparse Lookup in ODI as Informatica/ Datastage ?

    Hi,
    In ODI, Lookup is new concept is introduced anyone implemented it ? Can I know how to do it?
    Sparse Lookup could be possible in ODI? How can i should be done?
    I am learning ODI 11g new concepts..Can any one implement this please guide me how to implement it?
    If Anyone Implemented ODI 11g partitions.union...some other please share it it is so useful for how are upgrading the new concepts.
    Thanks in advance.Hope to post the Implememtations of ODI 11g concepts

    a friend told me that he wants my os x cd for my macbook pro to upgrade his imac.
    The discs that come with your Mac are "machine specfic" and cannot be used on another Mac.

  • LOOKUP in ODI

    Hi,
    i Have two oracle source tables A and B....loading data into target C
    if col1 or col2 value of A exists in col1 of B then this row should not be loaded into C.
    Thanks

    Hi,
    You can solve lockup by a complex constraint defined in B if the stage area is defined at target
    Please, what is the data volume?
    Create a constraint like:
    not exists (
    select tpk
    from
    (select b.primary_key tpk
    from a, b
    where a.c1 = b.c1
    union
    select b.primary_key tpk
    from a, b
    where a.c2 = b.c1)
    where tpk = b.c1)
    That will solve your issue.
    Try and let me know!
    Cezar Santos
    http://odiexperts.com
    Edited by: Cezar Santos - www.odiexperts.com on 07/04/2010 23:46

  • Lookup functionality

    Hi Guru's,
    How to implement informatica's lookup functionality in ODI. Any help is appreciated.
    Thanks,
    Navin Kumar Bolla

    Have a read of :- Lookups in ODI
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Reg: Lookup

    Hi,
    Can any one send me the steps how to use the lookup in ODI.
    I have got source, source/lookup and target.
    Thanks,
    Gvel

    Becker,
    In that case you specify your join condition to de executed on Stage or Target environnement. In first case the target-based lookup tabe will be loaded into Stage area in order to be joined. In the other case the join will be done directly on Target environnement, while inserting/updating the Target Table.
    Shamil

  • ODI Performance Techniques

    Hi,
    How to improve performance in ODI interfaces.
    Is there any settings to to check/Un-check kind of things to improve performance.
    And what is the difference between joins and look-ups in ODI.
    Regards,
    Srini

    1. Tuning in ODI means you have to go for sql tuning. There is nothing specific to odi studio except some jdk issues ( java memory error etc).
    2. Try to find out the step from operator which is taking much time to complete.
    3. See if proper hint can applied to them
    4. Go for tracing to see the exact problem.
    YOu can refer my post for lookup and joins. Again it depends on the requirement.
    http://dwteam.in/lookup-in-odi-11g/

  • "Look up" function in PDF

    Double-tap with three finders to "look up" in PDF seems not work even using Preview.
    Is there any solutions?
    Without in PDF file, such a useful function is just like.... weaken a lot.

    Hi ,
    The simplest way to achieve lookup in ODI is to join the Source table and the LookUp table in the source based on the joined condition you have in the 2 tables.
    There is no ready made transformation for lookup in ODI.
    Thanks,
    Sutirtha

  • Diff b/w lookup and join in odi

    Hi friends,
    I am new to ODI ,
                   Please can anyone explain the difference between "join" and "lookup" ?
    Thanks in advance !
    Cnu

    Hi,
    Have a look
    https://forums.oracle.com/thread/2470379
    Thanks

  • What is the use of lookup tranformation in odi

    Hi Experts,
    What is the use of lookup transformation in ODI.
    In ODI we use different kinds of joins, so my doubt is what is the difference between lookup transformation joins and normal joins we use in ODI.
    Please let me know with your valueable information.
    Thx,
    Sahadeva.

    Use the SIM card to connect to the cell carrier 3G network when there is no wifi available.
    To set it up, see this -> http://support.apple.com/kb/HT4157

  • Can we replicate Informatica Lookup transformation in ODI Interface?

    So was just wondering if we could replicate a lookup transformation in an ODI join of some sort where in only one value is returned for multiple matches of the same item....something like a max for a group or something while joining 2 tables...
    So for example I have 2 tables...A columns (Attendee_id,xyx,byx)
    B columns (partnerid,attendee_id,xyz,bxc)
    I want to join table A and B on Attendee_id and get the partner_id---but I want only one record in case of multiple matches for a particular attendee_id
    can we do this??

    No responses yet...Ive tried doing a left outer join...but it still returns all the matches...I want to return only one record....ne help from the xperts?

  • Lookup Issue in ODI

    Hi there,
    I need to do lookup in source tables and insert the result to target table in an ODI interface.
    I have source table s_table1 with:
    s_table1 columns:
    LV1_ID_COLUMN, LV2_ID_COLUMN, LV3_ID_COLUMN, ... LV15_ID_COLUMN
    I need to use the LVx_ID column value to lookup its name and other value from another source table s_table2:
    s_table2:
    ID_COLUMN NAME VALUE
    ======== ===== ======
    LV1_ID LV1_NAME LV1_VALUE
    LV2_ID LV2_NAME LV2_VALUE
    LV3_ID LV3_NAME LV3_VALUE
    And target table is:
    t_table:
    LV1_ID_COLUMN, LV1_NAME_COLUMN, LV1_VALUE_COLUMN, LV2_ID_COLUMN, LV2_NAME_COLUMN, LV2_VALUE_COLUMN, LV3_ID_COLUMN, LV3_NAME_COLUMN, LV3_VALUE_COLUMN ...
    What would be the best way to do this? Looks to me if in interface I imported the source table s_tables2 15 times, I can join each id column in s_table1 with id column in s_table2 and get the name/value for each ID_COLUMN in s_table1, but it would be a mess.
    My requirement is a simple lookup with an input data, one lookup table, and a couple of output data. What would be the right way to do it in ODI?
    Thanks!
    Edited by: michelle_ on Dec 15, 2008 6:26 PM
    Edited by: michelle_ on Dec 15, 2008 6:27 PM

    Hi-
    If I understood your requirement completely then this would be an ideal solution. Please let me know if not.
    You can create a single interface with 2 source tables (s1, s2 joined on the basis of s_table1.LV1_ID_COLUMN=s_table2.LV1_ID) and 1 target datastore.
    Then in your target datastore mapping, you can give like this:
    LV1_ID
    LV1_NAME
    LV1_VALUE
    LV2_ID
    LV2_NAME
    LV2_VALUE
    Thanks,
    Saravanan Rajavel

  • Standalone lookup - How to join in ODI - SQL Server

    Hi All,
    My Sql server query is joining as follows
    Select ...................
    From A.DBO.MAIN
    Inner Join A.DBO.LOOKUP_STANDALONE on 1=1
    How will I convert this in ODI?
    Thank you for the time and help.

    Hello,
    I think that what you want to do is a cartesian join (join all rows from MAIN with all rows from LOOKUP_STANDALONE).
    You can do that in ODI by drag one random column from MAIN onto one column of LOOKUP_STANDALONE (no matter which columns). Then click on your join et select the "Cross" Checkbox.
    Hope it helps,
    JeromeFr

  • How to use two lookup in single interface in ODI 11g

    Hi All,
    I am trying to load GL_CODE_COMBINATIONS CC + FND_FLEX_VALUES_VL FF to target table W_GL_CODE_COMBINATIONS.
    I duplicated FND_FLEX_VALUES_VL as FND_FLEX_VALUES_VL1 FF1 for my join condition.
    In target table I have included 2 new columns named SEGMENT2_DESC and SEGMENT3_DESC.
    In my interface i am using FND_FLEX_VALUES_VL as lookup and join condition is CC.SEGMENT2=FF.FLEX_VALUE
    Mapping expression of target column SEGMENT2_DESC is FF.DESCRIPTION.
    In my interface i am using FND_FLEX_VALUES_VL1 as lookup and join condition is CC.SEGMENT3=FF1.FLEX_VALUE
    Mapping expression of target column SEGMENT3_DESC is FF1.DESCRIPTION.
    Execution of this interface taking more time. When using single lookup and SEGMENT2_DESC data loading is fast.
    Kindly advice me regarding this.
    Thanks in advance.

    Are the number of records in lookup very large ?
    Why cant you use the same lookup once and have the join containing both the conditions.
    YOu dont have to use lookup at all. YOu can also drag the "so called" lookup table in the source and build the join conditions yourself.
    The join condition would be
    CC.SEGMENT2=FF.FLEX_VALUE and CC.SEGMENT3=FF.FLEX_VALUE

  • SQL expression in ODI

    I Have the following interface in oracle data integrator
    http://i44.tinypic.com/2mrsmxt.png
    # it execute successfully before inserting the following expression 
      In the mapping I insert the following SQL expression to get the average when the quantity is 0
    AVG(
    CASE WHEN TEST.QUN = 0 THEN
    (SELECT TEST.QUN FROM TEST
    WHERE TEST1.PRUDU=TEST.PRUDU
    AND TEST1.FLOW=TEST.UNIT
    AND TEST1.UNIT=TEST.UNIT
    AND to_char(TEST.DATEDDD,'MON')= to_char(TEST1.DATEDDD,'MON')
    AND TEST1.DATEDDD !=TEST.DATEDDD
    GROUP BY TEST.QUN
    ELSE TEST.QUN
    END)
    when I check this expression in ODI ..
    # the sql expression is correct for this  RDMS 
    when I executed the interface i get this error
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00937: not a single-group group function
    any idea ?

    I changed the code a little ..
    CASE WHEN TEST.QUN = 0 THEN
    (SELECT AVG(TEST.QUN) FROM TEST
    WHERE TEST1.PRUDU=TEST.PRUDU
    AND TEST1.FLOW=TEST.FLOW
    AND TEST1.UNIT=TEST.UNIT
    AND to_char(TEST.DATEDDD,'MON')= to_char(TEST1.DATEDDD,'MON')
    AND to_char(TEST.DATEDDD,'YYYY')!= to_char(TEST1.DATEDDD,'YYYY')
    ELSE TEST.QUN
    END
    And I get this error ..
    ORA-01427: single-row subquery returns more than one row tips.
    The TEST Table from the source and TEST1 is a lookup table because I couldn't  do the alais in ODI
    In sql developer I did the following code that will do the same thing and work successfully ..
    update test B
    set B.qun=
    (SELECT AVG(TEST.QUN) FROM TEST
    WHERE  TEST.FLOW=B.UNIT
    AND TEST.UNIT=B.UNIT
    AND TEST.PRUDU=b.prudu
    AND TEST.FLOW=b.flow
    AND to_char(TEST.DATEDDD,'MON')= to_char(B.DATEDDD,'MON')
    AND to_char(TEST.DATEDDD,'YYYY')!= to_char(B.DATEDDD,'YYYY')
    where B.qun=0;
    any help ?
    thanksssss
    naif ..

  • ODI inteface giving error on xmlagg function

    Hello,
    Oracle DB: 11g r2
    ODI :11.1.1.3
    I have this following code in SQL and needs to implement in ODI interface
    select  rtrim (xmlagg (xmlelement (e, CAT.CATEGORY || ',')).extract ('//text()'), ',') LEVEL_OF_DIFFICULTY from src_schema.category  cat,src_schema.item_category  icat  where  cat.pk=icat.category_pk 
    and icat.ASI_PK=E.PK AND CAT.MAIN_PK=E.MAIN_PK AND CAT.TYPE='D' )  LEVEL_OF_DIFFICULTY
    Note:_
    E alias will be from the base table that's from target data store
    I am trying to implement this in ODI as lookup, I have been getting this following error
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00937: not a single-group group functionI have tried multiple option as source and staging area, both times i am getting this error
    If I put that in target then getting critical error.
    Could you please let me know how do I implement this in ODI interface
    Thanks,

    you're missing the group by.
    Also, is playdate a date datatype? If so, then you need to explicitly convert '1-jan-2007' into a date, otherwise you leave yourself open to a bug, should different NLS date settings be applied.
    Assuming a date datatype, try the following:
    SELECT pd.player_name, MAX(pd.wickets_taken)
    FROM   playerdetail pd, teamdetails td
    WHERE  pd.types = 'ODI'
    AND    td.playdate > to_date('01/01/2007', 'dd/mm/yyyy')
    --I suspect you're missing a join condition - something like pd.team_id = td.team_id
    GROUP BY pd.player_name;

Maybe you are looking for