<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to perform Dynamic Lookup in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364732#M128433</link>
    <description>Thanks Alevy,
&lt;BR /&gt;I have more than 300K records coming from source and concatenating it in the string may be performance bottleneck.
&lt;BR /&gt;Is there any option available where i can pass select * from table A where A.colname = "input.colname"
&lt;BR /&gt;where input.colname contains all the records and automatically checks for the value.
&lt;BR /&gt;We have similar stage in DataStage and with Sparse lookup it can be done...Is there any similar thing available in Talend also ?</description>
    <pubDate>Wed, 24 Apr 2013 15:56:18 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2013-04-24T15:56:18Z</dc:date>
    <item>
      <title>How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364730#M128431</link>
      <description>Hi Members,
&lt;BR /&gt;I am new to Talend and looking for help from you guys to resolve a problem.
&lt;BR /&gt;I have a requirement like...
&lt;BR /&gt;1. Fetch emp_id from emp table where emp_First_name = 'Alex' ...assume this returns me 20 records i.e. 20 different emp_id.
&lt;BR /&gt;2. Now I need to pass this dynamically to other oracle stage where emp_id in (emp_id fetched from previous query).
&lt;BR /&gt;select dept_id from dept where emp_id in (all 20 emp id fetched in query 1)
&lt;BR /&gt;Is this possible in talend ?
&lt;BR /&gt;Your help is deeply appreciated.</description>
      <pubDate>Wed, 10 Apr 2013 19:00:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364730#M128431</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-10T19:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364731#M128432</link>
      <description>Easy:&lt;BR /&gt;tOracleInput "select emp_id from emp where emp_First_name='Alex'"&lt;BR /&gt;-row1-&amp;gt; tAggregateRow using list function (or tDenormalize) to concatenate the emp_ids into a comma-delimited String&lt;BR /&gt;-row2-&amp;gt; tFlowToIterate&lt;BR /&gt;-iterate-&amp;gt; tOracleInput "select dept_id from dept where emp_id in ("+globalMap.get("row2.emp_id")+")"&lt;BR /&gt;-row3-&amp;gt; ...</description>
      <pubDate>Thu, 11 Apr 2013 00:28:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364731#M128432</guid>
      <dc:creator>alevy</dc:creator>
      <dc:date>2013-04-11T00:28:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364732#M128433</link>
      <description>Thanks Alevy,
&lt;BR /&gt;I have more than 300K records coming from source and concatenating it in the string may be performance bottleneck.
&lt;BR /&gt;Is there any option available where i can pass select * from table A where A.colname = "input.colname"
&lt;BR /&gt;where input.colname contains all the records and automatically checks for the value.
&lt;BR /&gt;We have similar stage in DataStage and with Sparse lookup it can be done...Is there any similar thing available in Talend also ?</description>
      <pubDate>Wed, 24 Apr 2013 15:56:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364732#M128433</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-24T15:56:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364733#M128434</link>
      <description>You can use tmap to do an inner join.</description>
      <pubDate>Wed, 24 Apr 2013 17:25:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364733#M128434</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-24T17:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364734#M128435</link>
      <description>Thanks Shong. Yes sure..I can do the inner join but the problem will be i will have to take all the record close to 2 million record to the buffer and then lookup with 300K of input records which will be time and space consuming . 
&lt;BR /&gt;Is the anyway to filter the record in main table table based on input records as a filter like we do in where clause of Sql ?</description>
      <pubDate>Wed, 24 Apr 2013 18:22:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364734#M128435</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-24T18:22:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364735#M128436</link>
      <description>Hi 
&lt;BR /&gt;Here are three ways could achieve this request: 
&lt;BR /&gt;1, Do an inner join on tMap, to me, 2 million is not a large of data set, this could be the best way with good performance. 
&lt;BR /&gt;2. As Alevy suggested, select data from lookup table and concatenate each data to a string with a comma-delimited, and then, use the in where cause in the query of the main table. 
&lt;BR /&gt;3. Select data from lookup table and iterate each one. 
&lt;BR /&gt;tOracleInput_1--main(row1)--tFlowToIterate--tOracleInput_2--main--tLogRow 
&lt;BR /&gt;tOracleInput_1: "select record from lookup table" 
&lt;BR /&gt;tOraceInput_2: "select record from main table where mainColName="+row1.lookupColName 
&lt;BR /&gt;You can test all ways above and see which one is best for you. 
&lt;BR /&gt;Shong</description>
      <pubDate>Thu, 25 Apr 2013 02:32:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364735#M128436</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-25T02:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to perform Dynamic Lookup</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364736#M128437</link>
      <description>If your emp and dept tables are in the same DB you can use ELT components to pass the inner-join query to the DB to execute instead of pulling the data into Talend. 
&lt;BR /&gt;If the tables are at least on the same DB server even if they are in different DBs, you could do a combined query in your input component i.e. 
&lt;BR /&gt;select dept_id from db1.schema1.dept where emp_id in (select emp_id from db2.schema2.emp where emp_First_name='Alex') 
&lt;BR /&gt;or 
&lt;BR /&gt;select dept_id from db1.schema1.dept inner join db2.schema2.emp on dept.emp_id = emp.emp_id and emp_First_name='Alex' 
&lt;BR /&gt;Having said that, my test of reading 3 million values from a file, tDenormalizing them into a single string and writing them to a new file took only 1560 milliseconds, although reading from a DB will obviously be slower. 
&lt;BR /&gt;Failing all those and provided you don't want too many fields in the lookup, I agee with shong that tMap would probably be the best.</description>
      <pubDate>Thu, 25 Apr 2013 04:07:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-perform-Dynamic-Lookup/m-p/2364736#M128437</guid>
      <dc:creator>alevy</dc:creator>
      <dc:date>2013-04-25T04:07:54Z</dc:date>
    </item>
  </channel>
</rss>

