<?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 get next record's value while processing an input ? in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247307#M32533</link>
    <description>&lt;P&gt;How do you decide the next row , it should be based on a column. for example , for a customer-purchase information file i would consider that the next row is based upon his purchase date ie , for a customer A (considering two purchases for him) the next row will be the row having the maximum date and the current row will be the row having minimum date. So the next and the current rows are always dependent upon a column (date,sequential number,rank etc.)&lt;/P&gt; 
&lt;P&gt;Hence , for the above example ,sorting descending upon the purchase-date column on every customer group , we can get the next purchase date for the customer row with current purchase date by fetching the previous date value using tmemorize or a variable storing the previous value.&lt;/P&gt; 
&lt;P&gt;In Java , it is always a top down approach and we cant get the next iteration's value sitting on the current iteration . The above solution would be a workaround to achieve what you want.&lt;/P&gt;</description>
    <pubDate>Tue, 18 Sep 2018 08:32:01 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-09-18T08:32:01Z</dc:date>
    <item>
      <title>How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247289#M32515</link>
      <description />
      <pubDate>Sat, 16 Nov 2024 09:41:40 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247289#M32515</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T09:41:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247290#M32516</link>
      <description>&lt;P&gt;I believe this tutorial will help with this.....&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;A href="https://www.rilhia.com/quicktips/quick-tip-compare-row-value-against-value-previous-row" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.rilhia.com/quicktips/quick-tip-compare-row-value-against-value-previous-row&lt;/A&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;If you want to "look ahead" you simply adjust this slightly to hold processing the first row until the second has arrived. Thus allowing you to appear to "look ahead"&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 10:45:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247290#M32516</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-02T10:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247291#M32517</link>
      <description>&lt;P&gt;Can you please explain it in detail ? how is it possible to get the next row ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks ,&lt;/P&gt;&lt;P&gt;Praveen.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 11:05:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247291#M32517</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-02T11:05:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247292#M32518</link>
      <description>&lt;P&gt;It is not possible for the current row to get the "next" as such. So what I am suggesting is using a variation on what that tutorial shows.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;When your job reads the first row, it is essentially stored in memory. Then, when the second row arrives, the first row does what it needs to with the second row's data, is released and then the second row is stored in memory. This goes on throughout the job until you get to the end of the data set.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;This is enabled by the fact that the tMap variables are processed from top to bottom and are held between data rows. Using this functionality (as described in the tutorial....you can literally follow it and recreate it in an example job to see it happening), you can do this inter-row calculation.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 11:09:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247292#M32518</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-02T11:09:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247293#M32519</link>
      <description>&lt;P&gt;In my scenario , current row's data will be modified as per next row's data .So as per your suggestion if i store the first row data in a variable and wait for the second row to arrive , i can compare that with the variable value but how can i edit the previous row data based on this comparison ?&lt;/P&gt; 
&lt;P&gt;Thanks ,&lt;/P&gt; 
&lt;P&gt;Praveen .&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 11:30:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247293#M32519</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-02T11:30:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247294#M32520</link>
      <description>&lt;P&gt;The previous row's data is in memory. You can edit it in memory as well.&lt;/P&gt;
&lt;P&gt;When you output the variables that the row columns are stored in, you can modify the data there....or do it in another tMap variable.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This isn't *easy*, but it is possible and quite logical when you get your head into it. Try it out. The best way to learn something like this is to test it in an example job.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2017 11:59:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247294#M32520</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-02T11:59:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247295#M32521</link>
      <description>&lt;P&gt;HI Rhall,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I referred the link you have provided but getting error.&lt;/P&gt; 
&lt;P&gt;My requirement is to store previous record hashkey&amp;nbsp; and price value in two variables. if hashkey is same calculate price difference as below&lt;/P&gt; 
&lt;P class="p1"&gt;&lt;U&gt;&lt;STRONG&gt;input&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt; 
&lt;P class="p1"&gt;hash key | postcode | Price&lt;/P&gt; 
&lt;P class="p1"&gt;1000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;abc &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;100,000&lt;/P&gt; 
&lt;P class="p1"&gt;1000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;abc &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;200,000&lt;/P&gt; 
&lt;P class="p1"&gt;1000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;abc &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;250,000&lt;/P&gt; 
&lt;P class="p1"&gt;1001&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;xyz &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;50,000&lt;/P&gt; 
&lt;P class="p1"&gt;1001&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;xyz &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;250,000&lt;/P&gt; 
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;&lt;U&gt;&lt;STRONG&gt;expected:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt; 
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;hash key | postcode | Price&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;profitmade&lt;/P&gt; 
&lt;P class="p1"&gt;1000&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;abc &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;100,000&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;0&lt;/P&gt; 
&lt;P class="p1"&gt;1000&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;abc &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;200,000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;100,000&lt;/P&gt; 
&lt;P class="p1"&gt;1000&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;abc&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;250,000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;50,000&lt;/P&gt; 
&lt;P class="p1"&gt;1001 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;xyz &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;|&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;50,000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;0&lt;/P&gt; 
&lt;P class="p1"&gt;1001 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;xyz&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;250,000 &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;| &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;200,000&lt;/P&gt; 
&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;Error I am getting:&lt;/P&gt; 
&lt;P class="p1"&gt;&lt;FONT size="3" color="#FF0000"&gt;&lt;EM&gt;org.talend.designer.runprocess.ProcessorException: Job compile errors &lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;&lt;EM&gt;At least job "testfile" has a compile errors, please fix and export again.&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;&lt;EM&gt;Error Line: 1275&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;&lt;EM&gt;Detail Message: v_Prev_Price cannot be resolved to a variable&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt; 
&lt;P class="p1"&gt;I have attached the print screen of job.&lt;/P&gt; 
&lt;P class="p1"&gt;variable &lt;STRONG&gt;v_price&lt;/STRONG&gt; expression:&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;(v_PrevHash!=&lt;SPAN class="s1"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; v_PrevHash == row1.hashkey)?(row1.Price-v_Prev_Price):row1.Price&lt;/P&gt; 
&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;Can you please check what could be the issue?&lt;/P&gt; 
&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P class="p1"&gt;I also searched and found that there is component '&lt;SPAN&gt;tMemorizeRows'&amp;nbsp; I am not able find&amp;nbsp;this component in my talend studio.&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P class="p1"&gt;&lt;SPAN&gt;'tMemorizeRows' :&amp;nbsp; &lt;A href="https://help.talend.com/reader/mjoDghHoMPI0yuyZ83a13Q/0oEBI6YCTFXSgc5Z9Gpr6Q&amp;nbsp;" target="_blank" rel="nofollow noopener noreferrer"&gt;https://help.talend.com/reader/mjoDghHoMPI0yuyZ83a13Q/0oEBI6YCTFXSgc5Z9Gpr6Q&amp;nbsp;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;A href="https://community.qlik.com/legacyfs/online/tlnd_dw_files/0683p000009LrRu"&gt;Screen Shot 2017-11-01 at 10.34.57.png&lt;/A&gt;</description>
      <pubDate>Wed, 01 Nov 2017 10:41:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247295#M32521</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-11-01T10:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247296#M32522</link>
      <description>&lt;P&gt;OK, when using tMap variables, they are referred to using Var. before the name. So your variables should be named like this Var.v_Prev_Price, for example. You can drag and drop your tMap variables to another tMap variable expression if you like. That should show you how the names should be formatted. This is almost certainly the cause of your Java error.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 12:05:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247296#M32522</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-11-01T12:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247297#M32523</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;In my opinion, the simplest is to use a tJavaRow instead of a tMap for this case.&lt;/P&gt;
&lt;P&gt;It should look like this:&lt;/P&gt;
&lt;PRE&gt;// Initialize output_row fields from input_row fields values
output_row.hashkey = input_row.hashkey;
output_row.postcode = input_row.postcode;
output_row.price = input_row.price;

// Set ProfitMade depending on comparison result of previous and current hashkey
if((Integer)globalMap.get("PrevHash") != null &amp;amp;&amp;amp; (Integer)globalMap.get("PrevHash") == input_row.hashkey)
	output_row.ProfitMade = input_row.Price - (Integer)globalMap.get("PrevPrice");
else
	output_row.ProfitMade = 0;

// Set the global variables values for next iteration
globalMap.set("PrevHash", input_row.hashkey);
globalMap.set("PrevPrice", input_row.Price);&lt;/PRE&gt;
&lt;P&gt;Check field names and datatypes (integer vs float) before to try this in your job.&lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 12:19:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247297#M32523</guid>
      <dc:creator>TRF</dc:creator>
      <dc:date>2017-11-01T12:19:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247298#M32524</link>
      <description>&lt;P&gt;Thank rhall, I&amp;nbsp; added 'Var' before using variable and it worked. but facing&amp;nbsp;datatype incompatible&amp;nbsp;issue now.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;hashkey &lt;/STRONG&gt;field data&amp;nbsp;&amp;nbsp;is being generated using MD5 function(which is basically hexadecimal).&amp;nbsp;My source is file.&amp;nbsp;talend reading hashkey as string&amp;nbsp; and giving below error datatype defined in talend is int ( I tried changing datatype as int, long etc)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;[statistics] connecting to socket on port 3446&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;[statistics] connected&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "hashkey"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "ddbfcac5d5bb83f97906b3326e4dfd97"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "ddbfcac5d5bb83f97906b3326e4dfd97"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "ddbfcac5d5bb83f97906b3326e4dfd97"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "ddbfcac5d5bb83f97906b3326e4dfd97"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;For input string: "ddbfcac5d5bb83f97906b3326e4dfd97"&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;[statistics] disconnected&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="p3"&gt;&lt;FONT size="2"&gt;&lt;EM&gt;&lt;FONT color="#FF0000"&gt;Job testfile ended at 14:17 01/11/2017. [exit code=0]&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 14:25:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247298#M32524</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-11-01T14:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247299#M32525</link>
      <description>&lt;P&gt;Can you show some screenshots of your job configuration, since I do not understand what you are trying to do. Are you reading in an MD5 String? I'll need a bit more info&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 23:37:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247299#M32525</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-11-01T23:37:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247300#M32526</link>
      <description>&lt;P&gt;In a similar situation:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Input&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MASTER_CODE&lt;/TD&gt;&lt;TD&gt;COMM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMA&lt;/TD&gt;&lt;TD&gt;C-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AAAA&lt;/TD&gt;&lt;TD&gt;A-111-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BBBB&lt;/TD&gt;&lt;TD&gt;C-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BBBB&lt;/TD&gt;&lt;TD&gt;D-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CCCC&lt;/TD&gt;&lt;TD&gt;C-333-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMS-A&lt;/TD&gt;&lt;TD&gt;C-553-2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMS-A&lt;/TD&gt;&lt;TD&gt;D-323-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMS-A&lt;/TD&gt;&lt;TD&gt;E-311-3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#00ff00"&gt;&lt;STRONG&gt;Desired output&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MASTER_CODE&lt;/TD&gt;&lt;TD&gt;COMM&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMA&lt;/TD&gt;&lt;TD&gt;C-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AAAA&lt;/TD&gt;&lt;TD&gt;A-111-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BBBB&lt;/TD&gt;&lt;TD&gt;C-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;D-123-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CCCC&lt;/TD&gt;&lt;TD&gt;C-333-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;XLMS-A&lt;/TD&gt;&lt;TD&gt;C-553-2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;D-323-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;E-311-3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to do it using&amp;nbsp;&lt;STRONG&gt;tJavaRow&lt;/STRONG&gt; but no luck, this is the code I'm using:&lt;/P&gt;&lt;DIV&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;row2.MASTER_CODE.equals(row1.MASTER_CODE);&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;row2.COMM.equals(row1.COMM);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;if((String)globalMap.get("PrevRow").equals(row1.MASTER_CODE))&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;&amp;nbsp;row2.MASTER_CODE.equals("");&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;else&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;&amp;nbsp;row2.MASTER_CODE.equals(row1.MASTER_CODE);&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#808080" size="2"&gt;&lt;EM&gt;globalMap.set("PrevRow", row1.MASTER_CODE);&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 09 May 2018 23:02:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247300#M32526</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-09T23:02:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247301#M32527</link>
      <description>&lt;P&gt;Your Java is incorrect. The "equals" method doesn't assign a value, it checks to see if two values are equal. This should work....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;if(globalMap.get("PrevRow")!=null&amp;amp;&amp;amp;((String)globalMap.get("PrevRow")).equals(row1.MASTER_CODE)){
      row2.MASTER_CODE = "";
}else{
     globalMap.put("PrevRow",row1.MASTER_CODE);
     row2.MASTER_CODE = ((String)globalMap.get("PrevRow"));
     row2.COMM = row1.COMM;
}   &lt;/PRE&gt;</description>
      <pubDate>Thu, 10 May 2018 09:16:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247301#M32527</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-10T09:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247302#M32528</link>
      <description>&lt;P&gt;Thanks for your reply!&lt;BR /&gt;This almost solves it. The remaining issue is that the COMM field is not showing the correct values:&lt;/P&gt;
&lt;TABLE&gt;
 &lt;TBODY&gt;
  &lt;TR&gt;
   &lt;TD&gt;MASTER_CODE&lt;/TD&gt;
   &lt;TD&gt;COMM&lt;/TD&gt;
   &lt;TD&gt;Should be&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;XLMA&lt;/TD&gt;
   &lt;TD&gt;C-123-1&lt;/TD&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;AAAA&lt;/TD&gt;
   &lt;TD&gt;A-111-1&lt;/TD&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;BBBB&lt;/TD&gt;
   &lt;TD&gt;C-123-1&lt;/TD&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
   &lt;TD&gt;C-123-1&lt;/TD&gt;
   &lt;TD&gt;D-123-1&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;CCCC&lt;/TD&gt;
   &lt;TD&gt;C-333-3&lt;/TD&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;XLMS-A&lt;/TD&gt;
   &lt;TD&gt;C-553-2&lt;/TD&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
   &lt;TD&gt;C-553-2&lt;/TD&gt;
   &lt;TD&gt;D-323-1&lt;/TD&gt;
  &lt;/TR&gt;
  &lt;TR&gt;
   &lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
   &lt;TD&gt;C-553-2&lt;/TD&gt;
   &lt;TD&gt;E-311-3&lt;/TD&gt;
  &lt;/TR&gt;
 &lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 May 2018 20:25:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247302#M32528</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-10T20:25:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247303#M32529</link>
      <description>What about this one?&lt;BR /&gt;&lt;BR /&gt;if((String)globalMap.get("PrevRow") != null &amp;amp;&amp;amp;&lt;BR /&gt;((String)globalMap.get("PrevRow")).equals(input_row.MASTER_CODE)){&lt;BR /&gt;output_row.MASTER_CODE = "";&lt;BR /&gt;}else{&lt;BR /&gt;globalMap.put("PrevRow", input_row.MASTER_CODE);&lt;BR /&gt;output_row.MASTER_CODE = input_row.MASTER_CODE;&lt;BR /&gt;}&lt;BR /&gt;output_row.COMM = input_row.COMM;</description>
      <pubDate>Thu, 10 May 2018 21:19:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247303#M32529</guid>
      <dc:creator>TRF</dc:creator>
      <dc:date>2018-05-10T21:19:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247304#M32530</link>
      <description>&lt;P&gt;Excellent, this worked! Simply moving the COMM field out of the IF statement solves it.&lt;/P&gt;
&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Thu, 10 May 2018 23:10:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247304#M32530</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-10T23:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247305#M32531</link>
      <description>&lt;P&gt;Sorry, I wrote that straight to the forum without testing it. I meant the COMM field to be outside of the IF hence it was only included once.&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 09:11:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247305#M32531</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-11T09:11:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247306#M32532</link>
      <description>&lt;P&gt;i also need to get&amp;nbsp;next record's value for process. i didn't find the solution in forum. kindly share the solution u got&lt;/P&gt;</description>
      <pubDate>Fri, 22 Jun 2018 11:22:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247306#M32532</guid>
      <dc:creator />
      <dc:date>2018-06-22T11:22:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to get next record's value while processing an input ?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247307#M32533</link>
      <description>&lt;P&gt;How do you decide the next row , it should be based on a column. for example , for a customer-purchase information file i would consider that the next row is based upon his purchase date ie , for a customer A (considering two purchases for him) the next row will be the row having the maximum date and the current row will be the row having minimum date. So the next and the current rows are always dependent upon a column (date,sequential number,rank etc.)&lt;/P&gt; 
&lt;P&gt;Hence , for the above example ,sorting descending upon the purchase-date column on every customer group , we can get the next purchase date for the customer row with current purchase date by fetching the previous date value using tmemorize or a variable storing the previous value.&lt;/P&gt; 
&lt;P&gt;In Java , it is always a top down approach and we cant get the next iteration's value sitting on the current iteration . The above solution would be a workaround to achieve what you want.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Sep 2018 08:32:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-get-next-record-s-value-while-processing-an-input/m-p/2247307#M32533</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-09-18T08:32:01Z</dc:date>
    </item>
  </channel>
</rss>

