<?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: Creating a single Hierarchy in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2059190#M86955</link>
    <description>&lt;P&gt;Thanks for the quick response and apologies for the delay in getting back to you.&lt;/P&gt;
&lt;P&gt;The idea in principle is good.&lt;/P&gt;
&lt;P&gt;It came unstuck during the join. This needs to be separate out i believe.&lt;/P&gt;
&lt;P&gt;Here is the full code&lt;/P&gt;
&lt;P&gt;Data:&lt;BR /&gt;Load &lt;BR /&gt;Area, &lt;BR /&gt;Amount,&lt;BR /&gt;replace(Formula, ' ','') as Formula&lt;BR /&gt;inline [&lt;BR /&gt;Area, Amount, Formula&lt;BR /&gt;A, 1, &lt;BR /&gt;B, 1, &lt;BR /&gt;C, 2, C = A+B&lt;BR /&gt;D, 1, &lt;BR /&gt;E, 1, &lt;BR /&gt;F, 2, F = D+E&lt;BR /&gt;G, 4, G=A+B+D+E&lt;BR /&gt;]&lt;BR /&gt;;&lt;/P&gt;
&lt;P&gt;// Create adjacent list&lt;BR /&gt;AdjacentList:&lt;BR /&gt;Load distinct&lt;BR /&gt;AutoNumber(Parent) as ParentNo,&lt;BR /&gt;Parent as Parent,&lt;BR /&gt;Child&lt;BR /&gt;;&lt;BR /&gt;Load &lt;BR /&gt;Area as Parent,&lt;BR /&gt;Trim(subfield(SubField(Formula, '=', 2), '+')) as Child&lt;BR /&gt;Resident Data&lt;BR /&gt;where len(trim(Formula))&amp;gt;0;&lt;BR /&gt;Drop table Data;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;//Find how many parents there are&lt;BR /&gt;AdjacentList_Max:&lt;BR /&gt;Load &lt;BR /&gt;Max(ParentNo) as ParentNo_Max&lt;BR /&gt;Resident AdjacentList;&lt;BR /&gt;Let vParentNo = peek('ParentNo_Max', -1, 'AdjacentList_Max');&lt;BR /&gt;Drop table AdjacentList_Max;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;// Identify additional Parents by intermatching different paretn &lt;BR /&gt;For i = 0 to '$(vParentNo)'&lt;BR /&gt;NoConcatenate&lt;BR /&gt;AdjacentList1:&lt;BR /&gt;Load &lt;BR /&gt;*&lt;BR /&gt;Resident AdjacentList&lt;BR /&gt;where ParentNo = '$(vParentNo)';&lt;/P&gt;
&lt;P&gt;Left join (AdjacentList1)&lt;BR /&gt;Load &lt;BR /&gt;Child,&lt;BR /&gt;Parent as Child_New&lt;BR /&gt;Resident AdjacentList&lt;BR /&gt;where ParentNo &amp;lt;&amp;gt; '$(vParentNo)';&lt;BR /&gt;&lt;BR /&gt;Concatenate(AdjacentList)&lt;BR /&gt;Load &lt;BR /&gt;ParentNo,&lt;BR /&gt;Parent,&lt;BR /&gt;Child_New as Child&lt;BR /&gt;Resident AdjacentList1&lt;BR /&gt;where NOT ISNULL(Child_New);&lt;BR /&gt;Drop table AdjacentList1;&lt;BR /&gt;Next i&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 11 Apr 2023 14:22:39 GMT</pubDate>
    <dc:creator>colinodonnel</dc:creator>
    <dc:date>2023-04-11T14:22:39Z</dc:date>
    <item>
      <title>Creating a single Hierarchy</title>
      <link>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2055113#M86681</link>
      <description>&lt;P&gt;Hello there,&lt;/P&gt;
&lt;P&gt;Is it possible to create a single tree out of 3 other 3 trees?&lt;/P&gt;
&lt;P&gt;This is from excel&lt;/P&gt;
&lt;TABLE width="238"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="89"&gt;Area&lt;/TD&gt;
&lt;TD width="64"&gt;Amount&lt;/TD&gt;
&lt;TD width="85"&gt;Formula&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;C = A+B&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;F = D+E&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;G=A+B+C+D&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Technically,&amp;nbsp; C F and G are top of the Tree.&lt;/P&gt;
&lt;P&gt;However G should really be the single top of the tree as G is also G= C +F&lt;/P&gt;
&lt;P&gt;Currently it creates this adjacent nodes table&lt;/P&gt;
&lt;TABLE width="153"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="89"&gt;Node&lt;/TD&gt;
&lt;TD width="64"&gt;Parent&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can i convert / rationalise it to this?&lt;/P&gt;
&lt;TABLE width="192"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="128"&gt;AdjacentNodes&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Node&lt;/TD&gt;
&lt;TD&gt;Parent&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;G&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Thu, 30 Mar 2023 10:32:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2055113#M86681</guid>
      <dc:creator>colinodonnel</dc:creator>
      <dc:date>2023-03-30T10:32:28Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a single Hierarchy</title>
      <link>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2055123#M86684</link>
      <description>&lt;P&gt;Hello&lt;BR /&gt;the below script should lead to what you want&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;source:&lt;BR /&gt;load * inline [&lt;BR /&gt;Area, Amount, Formula&lt;BR /&gt;A, 1, &lt;BR /&gt;B, 1, &lt;BR /&gt;C, 2, C= A+B&lt;BR /&gt;D, 1, &lt;BR /&gt;E, 1, &lt;BR /&gt;F, 2, F = D+E&lt;BR /&gt;G, 4, G=A +B+C+D&lt;BR /&gt;];&lt;/P&gt;
&lt;P&gt;t1:&lt;BR /&gt;NoConcatenate&lt;BR /&gt;load Area, Amount, subfield(mid(Formula, 3),'+') as Formula&lt;BR /&gt;Resident source;&lt;BR /&gt;drop table source;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;left join(t1)&lt;/P&gt;
&lt;P&gt;load Formula as Parent, Area as Child, Area as Name&lt;/P&gt;
&lt;P&gt;resident t1;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;final:&lt;BR /&gt;hierarchy(Child, Parent, Name)&lt;BR /&gt;load&amp;nbsp;distinct Child, Parent,Name resident t1;&lt;BR /&gt;drop table t1;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Mar 2023 11:14:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2055123#M86684</guid>
      <dc:creator>ali_hijazi</dc:creator>
      <dc:date>2023-03-30T11:14:45Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a single Hierarchy</title>
      <link>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2059190#M86955</link>
      <description>&lt;P&gt;Thanks for the quick response and apologies for the delay in getting back to you.&lt;/P&gt;
&lt;P&gt;The idea in principle is good.&lt;/P&gt;
&lt;P&gt;It came unstuck during the join. This needs to be separate out i believe.&lt;/P&gt;
&lt;P&gt;Here is the full code&lt;/P&gt;
&lt;P&gt;Data:&lt;BR /&gt;Load &lt;BR /&gt;Area, &lt;BR /&gt;Amount,&lt;BR /&gt;replace(Formula, ' ','') as Formula&lt;BR /&gt;inline [&lt;BR /&gt;Area, Amount, Formula&lt;BR /&gt;A, 1, &lt;BR /&gt;B, 1, &lt;BR /&gt;C, 2, C = A+B&lt;BR /&gt;D, 1, &lt;BR /&gt;E, 1, &lt;BR /&gt;F, 2, F = D+E&lt;BR /&gt;G, 4, G=A+B+D+E&lt;BR /&gt;]&lt;BR /&gt;;&lt;/P&gt;
&lt;P&gt;// Create adjacent list&lt;BR /&gt;AdjacentList:&lt;BR /&gt;Load distinct&lt;BR /&gt;AutoNumber(Parent) as ParentNo,&lt;BR /&gt;Parent as Parent,&lt;BR /&gt;Child&lt;BR /&gt;;&lt;BR /&gt;Load &lt;BR /&gt;Area as Parent,&lt;BR /&gt;Trim(subfield(SubField(Formula, '=', 2), '+')) as Child&lt;BR /&gt;Resident Data&lt;BR /&gt;where len(trim(Formula))&amp;gt;0;&lt;BR /&gt;Drop table Data;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;//Find how many parents there are&lt;BR /&gt;AdjacentList_Max:&lt;BR /&gt;Load &lt;BR /&gt;Max(ParentNo) as ParentNo_Max&lt;BR /&gt;Resident AdjacentList;&lt;BR /&gt;Let vParentNo = peek('ParentNo_Max', -1, 'AdjacentList_Max');&lt;BR /&gt;Drop table AdjacentList_Max;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;// Identify additional Parents by intermatching different paretn &lt;BR /&gt;For i = 0 to '$(vParentNo)'&lt;BR /&gt;NoConcatenate&lt;BR /&gt;AdjacentList1:&lt;BR /&gt;Load &lt;BR /&gt;*&lt;BR /&gt;Resident AdjacentList&lt;BR /&gt;where ParentNo = '$(vParentNo)';&lt;/P&gt;
&lt;P&gt;Left join (AdjacentList1)&lt;BR /&gt;Load &lt;BR /&gt;Child,&lt;BR /&gt;Parent as Child_New&lt;BR /&gt;Resident AdjacentList&lt;BR /&gt;where ParentNo &amp;lt;&amp;gt; '$(vParentNo)';&lt;BR /&gt;&lt;BR /&gt;Concatenate(AdjacentList)&lt;BR /&gt;Load &lt;BR /&gt;ParentNo,&lt;BR /&gt;Parent,&lt;BR /&gt;Child_New as Child&lt;BR /&gt;Resident AdjacentList1&lt;BR /&gt;where NOT ISNULL(Child_New);&lt;BR /&gt;Drop table AdjacentList1;&lt;BR /&gt;Next i&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2023 14:22:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Creating-a-single-Hierarchy/m-p/2059190#M86955</guid>
      <dc:creator>colinodonnel</dc:creator>
      <dc:date>2023-04-11T14:22:39Z</dc:date>
    </item>
  </channel>
</rss>

