<?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: Loop for column names in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123017#M91409</link>
    <description>&lt;P&gt;Like this only in as a loop.&lt;/P&gt;
&lt;P&gt;Because the number of columns can change&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;X:&lt;BR /&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;
&lt;P&gt;Concatenate&lt;/P&gt;
&lt;P&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList_M_1 AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;
&lt;P&gt;Concatenate&lt;/P&gt;
&lt;P&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList_M_2 AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;</description>
    <pubDate>Wed, 27 Sep 2023 13:19:49 GMT</pubDate>
    <dc:creator>HTaher</dc:creator>
    <dc:date>2023-09-27T13:19:49Z</dc:date>
    <item>
      <title>Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2122841#M91394</link>
      <description>&lt;P&gt;Dear Qlik Community,&lt;/P&gt;
&lt;P&gt;I have the following problem. &lt;/P&gt;
&lt;P&gt;I have a table (QVD) with very many columns. e.g. ccPersonlist, ccPersonlist_M_1, ccPersonlist_M_2, ccPersonlist_M_3, ... ccPersonlist_M_40...&lt;BR /&gt;&lt;BR /&gt;the number of columns can change. &lt;BR /&gt;&lt;BR /&gt;I want to combine this many columns in one column. &lt;BR /&gt;&lt;BR /&gt;I would combine the columns with Concatenate. &lt;BR /&gt;&lt;BR /&gt;But for this I would like to build a loop that queries the possible number of columns before and includes all columns that start with ccPersonlist. &lt;BR /&gt;&lt;BR /&gt;How can I do this? Do you have any ideas? How can I read all column names from the QVD beforehand and build them into the loop?&lt;BR /&gt;&lt;BR /&gt;Thanks a lot&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 07:55:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2122841#M91394</guid>
      <dc:creator>HTaher</dc:creator>
      <dc:date>2023-09-27T07:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2122944#M91401</link>
      <description>&lt;DIV&gt;maybe this; I used QlikView, change the read / store for Qlik Sense&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// test data in a QVD (X.qvd)&lt;/DIV&gt;
&lt;DIV&gt;X:&lt;/DIV&gt;
&lt;DIV&gt;load&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist_M_1,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as Field1,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist_M_2&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;AutoGenerate 100;&lt;/DIV&gt;
&lt;DIV&gt;STORE X INTO X.qvd (qvd);&lt;/DIV&gt;
&lt;DIV&gt;drop table X;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// read 1 row from the qvd X.qvd&lt;/DIV&gt;
&lt;DIV&gt;Y:&amp;nbsp;FIRST 1 LOAD * FROM X.qvd (qvd);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// build the load statement&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// read every column from Y table (for loop)&lt;/DIV&gt;
&lt;DIV&gt;SET vLoad = 'LOAD ';&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;// vLOAD is LOAD&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;for c = 1 to &lt;STRONG&gt;NoOfFields&lt;/STRONG&gt;('Y')&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LET vField = &lt;STRONG&gt;FieldName&lt;/STRONG&gt;($(c), 'Y');&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TRACE vField=$(vField);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // add the column to vLoad if&amp;nbsp;start with ccPersonlist&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF WildMatch('$(vField)', '*ccPersonlist*') THEN&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LET vLoad = '$(vLoad)'&amp;nbsp; &amp;amp; '$(vField) &amp;amp; ';&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TRACE $(vLoad);&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ENDIF&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;NEXT&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;DROP TABLE Y;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;// vLOAD is LOAD ccPersonlist &amp;amp; ccPersonlist_M_1 &amp;amp; ccPersonlist_M_2 &amp;amp;&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;LET vLoad = LEFT('$(vLoad)', LEN('$(vLoad)')-3) &amp;amp; ' as NewField ' &amp;amp;chr(10)&amp;amp; ' FROM X.qvd (qvd);';&lt;/DIV&gt;
&lt;DIV&gt;TRACE $(vLoad);&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;// vLoad is LOAD ccPersonlist &amp;amp; ccPersonlist_M_1 &amp;amp; ccPersonlist_M_2 as NewField FROM X.qvd (qvd);&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// and now, run the statement in the vLoad variable&lt;/DIV&gt;
&lt;DIV&gt;Z:&lt;/DIV&gt;
&lt;DIV&gt;$(vLoad)&lt;/DIV&gt;
&lt;DIV&gt;;&lt;/DIV&gt;</description>
      <pubDate>Wed, 27 Sep 2023 11:08:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2122944#M91401</guid>
      <dc:creator>maxgro</dc:creator>
      <dc:date>2023-09-27T11:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123000#M91405</link>
      <description>&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;the script works.&lt;/P&gt;
&lt;P&gt;But I would like to concatenate the columns.&lt;/P&gt;
&lt;P&gt;When I change the script accordingly I get an error.&lt;/P&gt;
&lt;P&gt;I have adapted your script as follows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;// read 1 row from the qvd X.qvd&lt;BR /&gt;Y: FIRST 1 LOAD * FROM [x.qvd] (qvd);&lt;BR /&gt;&lt;BR /&gt;// build the load statement &lt;BR /&gt;// read every column from Y table (for loop)&lt;BR /&gt;SET vLoad = 'LOAD ';&lt;BR /&gt;// vLOAD is LOAD &lt;BR /&gt;for c = 1 to NoOfFields('Y')&lt;BR /&gt;LET vField = FieldName($(c), 'Y');&lt;BR /&gt;TRACE vField=$(vField);&lt;BR /&gt;// add the column to vLoad if start with ccPersonlist&lt;BR /&gt;IF WildMatch('$(vField)', '*ccPersonlist*') THEN &lt;BR /&gt;&lt;FONT color="#FF0000"&gt;LET vLoad = '$(vLoad)' &amp;amp; '$(vField) as NewField FROM [X.qvd] (qvd); Concatenate';&lt;/FONT&gt;&lt;BR /&gt;TRACE $(vLoad); &lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT &lt;BR /&gt;DROP TABLE Y;&lt;BR /&gt;// vLOAD is LOAD ccPersonlist &amp;amp; ccPersonlist_M_1 &amp;amp; ccPersonlist_M_2 &amp;amp; &lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;LET vLoad = LEFT('$(vLoad)', LEN('$(vLoad)')-13);&lt;/FONT&gt;&lt;BR /&gt;TRACE $(vLoad);&lt;/P&gt;
&lt;P class="lia-align-left"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;I use Qlik Sens Saas. &lt;/P&gt;
&lt;P&gt;I get the error because of ";" before the concatenate.&lt;BR /&gt;With &amp;amp; chr(59) &amp;amp; it didn't work either.&lt;/P&gt;
&lt;P&gt;Do you know why this error occurs or how I can work around it?&lt;/P&gt;
&lt;P&gt;Thanks a lot&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 12:54:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123000#M91405</guid>
      <dc:creator>HTaher</dc:creator>
      <dc:date>2023-09-27T12:54:19Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123007#M91407</link>
      <description>&lt;P&gt;concatenate columns?&lt;/P&gt;
&lt;P&gt;col1, col2, col3&lt;/P&gt;
&lt;P&gt;1,2,3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;do you mean&lt;/P&gt;
&lt;P&gt;newcol&lt;/P&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;P&gt;3&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;newcol&lt;/P&gt;
&lt;P&gt;123&lt;/P&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 13:09:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123007#M91407</guid>
      <dc:creator>maxgro</dc:creator>
      <dc:date>2023-09-27T13:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123010#M91408</link>
      <description>&lt;P&gt;Yes, newcol&lt;/P&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;P&gt;3&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 13:12:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123010#M91408</guid>
      <dc:creator>HTaher</dc:creator>
      <dc:date>2023-09-27T13:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123017#M91409</link>
      <description>&lt;P&gt;Like this only in as a loop.&lt;/P&gt;
&lt;P&gt;Because the number of columns can change&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;X:&lt;BR /&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;
&lt;P&gt;Concatenate&lt;/P&gt;
&lt;P&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList_M_1 AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;
&lt;P&gt;Concatenate&lt;/P&gt;
&lt;P&gt;LOAD&lt;BR /&gt;&lt;BR /&gt;CcPersonList_M_2 AS NewField&lt;BR /&gt;&lt;BR /&gt;FROM [x.qvd]&lt;BR /&gt;(qvd);&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 13:19:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123017#M91409</guid>
      <dc:creator>HTaher</dc:creator>
      <dc:date>2023-09-27T13:19:49Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123083#M91413</link>
      <description>&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;X:&lt;/DIV&gt;
&lt;DIV&gt;load&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist_M_1,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as Field1,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; rowno() as ccPersonlist_M_2&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;AutoGenerate 100;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;STORE X INTO X.qvd (qvd);&lt;/DIV&gt;
&lt;DIV&gt;drop table X;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Y:&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;FIRST 1 LOAD * FROM X.qvd (qvd);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Z:&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;LOAD 'x' as NewField AutoGenerate 0;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;for c = 1 to NoOfFields('Y')&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; LET vField = FieldName($(c), 'Y');&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; TRACE vField=$(vField);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; IF WildMatch('$(vField)', '*ccPersonlist*') THEN&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; CONCATENATE (Z) LOAD $(vField) as NewField FROM X.qvd (qvd);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; ENDIF&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;NEXT&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;DROP TABLE Y;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 14:58:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123083#M91413</guid>
      <dc:creator>maxgro</dc:creator>
      <dc:date>2023-09-27T14:58:14Z</dc:date>
    </item>
    <item>
      <title>Re: Loop for column names</title>
      <link>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123088#M91415</link>
      <description>&lt;P&gt;Thank you very much for your help. Works wonderfully&lt;/P&gt;</description>
      <pubDate>Wed, 27 Sep 2023 15:05:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Loop-for-column-names/m-p/2123088#M91415</guid>
      <dc:creator>HTaher</dc:creator>
      <dc:date>2023-09-27T15:05:55Z</dc:date>
    </item>
  </channel>
</rss>

