<?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 How Can your software help me to generate this list? in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/How-Can-your-software-help-me-to-generate-this-list/m-p/100559#M751167</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Would you Please guide me (maybe Simple and fast query if there is or some fast code) to convert my CSV data file (with commas separation):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,A,C,Z,F,G&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2,G,Q,R,C,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3,Z,G,Q,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4,C,F,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5,O,P,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have this table with ~1,000,000 records like these 7 records that you see (&lt;STRONG&gt;**&lt;/STRONG&gt;In real Database A,B,C,... are words in string**), Records 1 and 2 are common in G and C value and 2,3 and 1,3 and ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to sync records if they have at least two common value like Records 1 &amp;amp; 2,3,4 (but record 5,6,7 haven't at least 2 shared values with others) and generate a list like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Z G Q A C F R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 C F A Z G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 O P&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 O X Y J&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 A P X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at the end we must have 4 same records if we sort data and one others without sync:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 O P&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 J O X Y&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 A P X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe I do not use good term for my meaning, please see:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;record 1 has C and G common with Record 2 now 1 has not R and Q thus we must have 1 A C Z F G + Q and R and Record 2 has not A,Z and F thus we must have: 2 G Q R C + A,Z and F thus at the end we have:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need all records Respectively in the queue from top to bottom. &lt;/P&gt;&lt;P&gt;for other example: record 4:&lt;/P&gt;&lt;P&gt;1,A,C,Z,F,G&lt;/P&gt;&lt;P&gt;2,G,Q,R,C,&lt;/P&gt;&lt;P&gt;3,Z,G,Q,&lt;/P&gt;&lt;P&gt;4,C,F,&lt;/P&gt;&lt;P&gt;5,O,P,&lt;/P&gt;&lt;P&gt;6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at first we have :&lt;/P&gt;&lt;P&gt;1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;3 Z G Q A C F R&lt;/P&gt;&lt;P&gt;4,C,F,&lt;/P&gt;&lt;P&gt;5,O,P,&lt;/P&gt;&lt;P&gt;6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now at 4 we have C and F common with 1&lt;/P&gt;&lt;P&gt;thus&lt;/P&gt;&lt;P&gt;we generate:&lt;/P&gt;&lt;P&gt;4 C F + a z g q r&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wrote a delphi code but it is so slow. Someone suggest me this groovy code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def f=[:]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new File('Data.csv').readLines().each{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def items=it.split(',')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; items.eachWithIndex { String entry, int i -&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i==0){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=entry&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(entry){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!f[entry])&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f[entry]=[]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f[entry]&amp;lt;&amp;lt;name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.findAll {it.value.size()&amp;gt;1}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is very fast (because of using a map file I think), but It only finds the common values.&lt;/P&gt;&lt;P&gt;Please give me any help or suggestion.&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Nov 2020 16:16:04 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2020-11-25T16:16:04Z</dc:date>
    <item>
      <title>How Can your software help me to generate this list?</title>
      <link>https://community.qlik.com/t5/QlikView/How-Can-your-software-help-me-to-generate-this-list/m-p/100559#M751167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Would you Please guide me (maybe Simple and fast query if there is or some fast code) to convert my CSV data file (with commas separation):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,A,C,Z,F,G&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2,G,Q,R,C,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3,Z,G,Q,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4,C,F,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5,O,P,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have this table with ~1,000,000 records like these 7 records that you see (&lt;STRONG&gt;**&lt;/STRONG&gt;In real Database A,B,C,... are words in string**), Records 1 and 2 are common in G and C value and 2,3 and 1,3 and ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to sync records if they have at least two common value like Records 1 &amp;amp; 2,3,4 (but record 5,6,7 haven't at least 2 shared values with others) and generate a list like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Z G Q A C F R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 C F A Z G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 O P&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 O X Y J&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 A P X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at the end we must have 4 same records if we sort data and one others without sync:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 A C F G Q R Z&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 O P&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 J O X Y&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 A P X&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe I do not use good term for my meaning, please see:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;record 1 has C and G common with Record 2 now 1 has not R and Q thus we must have 1 A C Z F G + Q and R and Record 2 has not A,Z and F thus we must have: 2 G Q R C + A,Z and F thus at the end we have:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need all records Respectively in the queue from top to bottom. &lt;/P&gt;&lt;P&gt;for other example: record 4:&lt;/P&gt;&lt;P&gt;1,A,C,Z,F,G&lt;/P&gt;&lt;P&gt;2,G,Q,R,C,&lt;/P&gt;&lt;P&gt;3,Z,G,Q,&lt;/P&gt;&lt;P&gt;4,C,F,&lt;/P&gt;&lt;P&gt;5,O,P,&lt;/P&gt;&lt;P&gt;6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at first we have :&lt;/P&gt;&lt;P&gt;1 A C Z F G Q R&lt;/P&gt;&lt;P&gt;2 G Q R C A Z F&lt;/P&gt;&lt;P&gt;3 Z G Q A C F R&lt;/P&gt;&lt;P&gt;4,C,F,&lt;/P&gt;&lt;P&gt;5,O,P,&lt;/P&gt;&lt;P&gt;6,O,X,Y,J,&lt;/P&gt;&lt;P&gt;7,A,P,X,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now at 4 we have C and F common with 1&lt;/P&gt;&lt;P&gt;thus&lt;/P&gt;&lt;P&gt;we generate:&lt;/P&gt;&lt;P&gt;4 C F + a z g q r&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wrote a delphi code but it is so slow. Someone suggest me this groovy code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def f=[:]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new File('Data.csv').readLines().each{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def items=it.split(',')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; def name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; items.eachWithIndex { String entry, int i -&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i==0){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=entry&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(entry){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!f[entry])&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f[entry]=[]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f[entry]&amp;lt;&amp;lt;name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f.findAll {it.value.size()&amp;gt;1}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is very fast (because of using a map file I think), but It only finds the common values.&lt;/P&gt;&lt;P&gt;Please give me any help or suggestion.&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Nov 2020 16:16:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-Can-your-software-help-me-to-generate-this-list/m-p/100559#M751167</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-11-25T16:16:04Z</dc:date>
    </item>
  </channel>
</rss>

