<?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 a value based on two columns in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745268#M57181</link>
    <description>&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;P&gt;It works!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 18 Sep 2020 19:26:01 GMT</pubDate>
    <dc:creator>daria</dc:creator>
    <dc:date>2020-09-18T19:26:01Z</dc:date>
    <item>
      <title>How to get a value based on two columns</title>
      <link>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745235#M57179</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I have a SourceData table:&lt;/P&gt;&lt;TABLE width="419"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="64"&gt;Id&lt;/TD&gt;&lt;TD width="75"&gt;IsFlag&lt;/TD&gt;&lt;TD width="85"&gt;Child&lt;/TD&gt;&lt;TD width="91"&gt;Parent&lt;/TD&gt;&lt;TD width="104"&gt;Date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;114&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;20/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;20/01/2020&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to add&amp;nbsp; a new column based on two columns Child and Parent. The new column will reflect a group&amp;nbsp; of rows for a common Parent as it's shown below:&lt;/P&gt;&lt;TABLE width="483"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="64"&gt;Id&lt;/TD&gt;&lt;TD width="75"&gt;IsFlag&lt;/TD&gt;&lt;TD width="85"&gt;Child&lt;/TD&gt;&lt;TD width="91"&gt;Parent&lt;/TD&gt;&lt;TD width="104"&gt;Date&lt;/TD&gt;&lt;TD width="64"&gt;Result&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;2536&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;114&lt;/TD&gt;&lt;TD&gt;01/01/2020&lt;/TD&gt;&lt;TD&gt;114&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;20/01/2020&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;20/01/2020&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;I tried to do it with For .. Next loop, but it works very slow:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Let vNumRows = NoOfRows('SourceData');
For i = 0 to $(vNumRows) 

    Let vCurrentParent = Peek('Parent', $(i), 'SourceData');
    Let vCurrentIsFlag = Peek('IsFlag', $(i), 'SourceData');
    Let vCurrentDate = Peek('Date', $(i), 'SourceData');
    
    If (vCurrentIsFlag = 1) THEN // if record is Parent
    
	LoopNewData:
        	LOAD IsFlag,
            	Child, 
            	Parent,
                Id,
                '$(vCurrentParent)' AS Result,
                Date
             RESIDENT SourceData
             WHERE (Child = '$(vCurrentParent)' OR Parent= '$(vCurrentParent)') 
             	AND Date= '$(vCurrentDate)';
      END IF;  
 NEXT 
 
//get records without child rows
LoopNewData:
        	LOAD IsFlag,
            	Child, 
            	Parent,
                Id,
                Parent AS Result,
                Date
             RESIDENT SourceData
             WHERE (Child = 0 AND IsFlag = 0) ;
             
DROP TABLE SourceData;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Do you have any suggestions on how to get better performance?&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 18:05:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745235#M57179</guid>
      <dc:creator>daria</dc:creator>
      <dc:date>2024-11-16T18:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to get a value based on two columns</title>
      <link>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745243#M57180</link>
      <description>&lt;P&gt;Not sure why you need a loop here.. can this work?&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Table:
LOAD *,
	 If(Child &amp;lt;&amp;gt; 0, Child, Parent) as Result;
LOAD * INLINE [
    Id, IsFlag, Child, Parent, Date
    1, 1, 0, 2536, 01/01/2020
    2, 0, 2536, 101, 01/01/2020
    3, 0, 2536, 102, 01/01/2020
    4, 0, 0, 103, 01/01/2020
    5, 1, 0, 2550, 01/01/2020
    5, 0, 2550, 105, 01/01/2020
    14, 0, 0, 114, 01/01/2020
    5, 1, 0, 2550, 20/01/2020
    5, 0, 2550, 105, 20/01/2020
];&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 18 Sep 2020 17:29:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745243#M57180</guid>
      <dc:creator>sunny_talwar</dc:creator>
      <dc:date>2020-09-18T17:29:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to get a value based on two columns</title>
      <link>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745268#M57181</link>
      <description>&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;P&gt;It works!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Sep 2020 19:26:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/How-to-get-a-value-based-on-two-columns/m-p/1745268#M57181</guid>
      <dc:creator>daria</dc:creator>
      <dc:date>2020-09-18T19:26:01Z</dc:date>
    </item>
  </channel>
</rss>

