<?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 reduce this Code with a single loop in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003613#M341007</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you could reduce the number of loop-parts if you put your do while loop within a for each loop and where the in-list contained your different filter criteria and fieldnames - if you loaded these filter criteria and fieldnames into a table and runs then loop through the field-values you could use a normal for loop as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But before I suggest you rethink your whole datamodel then you creates a crosstable which is a rather seldom really suitable. Quite often you could with a normal table-structure easily calculate your needs within the gui.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 01 Nov 2015 13:48:50 GMT</pubDate>
    <dc:creator>marcus_sommer</dc:creator>
    <dc:date>2015-11-01T13:48:50Z</dc:date>
    <item>
      <title>How to reduce this Code with a single loop</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003612#M341006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Experts&lt;/P&gt;&lt;P&gt;Here we are calculating the Metrics with loop&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note : But we want to calculate with single loop instead of multiple loops&amp;nbsp; (We need to reduce the loops)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;For Example : I am calculating the Count of Workorders&amp;nbsp; for each Metric with individual loops&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Here i want to calculate Count of WorkOrders&amp;nbsp; for each Metric in a single loop according to Business&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requirement.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note : Here Metrics are calculated with different Filters &lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Added the code bellow....&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Summary:&lt;/P&gt;&lt;P&gt;Load &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; num(month(floor(wo_completionDate))) as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [Count_of_records]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;from $(vQVDDataDir)\WO.qvd (qvd) where year(floor(wo_completionDate))='2015' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;group by fd_code, num(month(floor(wo_completionDate)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Temp_month:&lt;/P&gt;&lt;P&gt;load num(min(month(wo_completionDate))) as minMonth,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num(max(month(wo_completionDate))) as maxMonth&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;from $(vQVDDataDir)\WO.qvd (qvd) where year(floor(wo_completionDate))='2015' ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let vMinMonth= peek('minMonth');&lt;/P&gt;&lt;P&gt;let vMaxMonth= peek('maxMonth');&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //////&amp;nbsp; Metrics Starts from Here ////// &lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 1]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 1 and&amp;nbsp; wc_code = '01' and wo_Diff &amp;lt;=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//drop table Temp_month;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 1.1]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 1 and&amp;nbsp; wc_code = '01'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 2]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 2 and&amp;nbsp; wc_code = '01' and wo_Diff &amp;lt;=2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 2.1]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 2 and&amp;nbsp; wc_code = '01' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 3]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 3 and&amp;nbsp; wc_code = '01' and wo_Diff &amp;lt;=28 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 3.1]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 3 and&amp;nbsp; wc_code = '01' &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 4]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 4 and&amp;nbsp; wc_code = '01' and wo_Diff &amp;lt;=14 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let i=$(vMinMonth);&lt;/P&gt;&lt;P&gt;do while i&amp;lt;=$(vMaxMonth) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;join(Summary)&lt;/P&gt;&lt;P&gt;load&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '$(i)' as Month,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code as [Client source],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count(wo_number) as [No Of Work Orders 4.1]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from $(vQVDDataDir)\WO.qvd (qvd)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where num(month(floor(wo_completionDate))) &amp;gt;= '$(i)'-1 and num(month(floor(wo_completionDate))) &amp;lt;= '$(i)' and year(floor(wo_completionDate))='2015'&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and isnull(proj_number) and pri_code= 4 and&amp;nbsp; wc_code = '01'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group By&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fd_code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let i=i+1;&lt;/P&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;drop table Temp_month;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STORE Summary INTO [$(vQVDDataDir)\Summary.qvd] (qvd);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Madhu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Nov 2015 11:13:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003612#M341006</guid>
      <dc:creator>madhubabum</dc:creator>
      <dc:date>2015-11-01T11:13:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to reduce this Code with a single loop</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003613#M341007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you could reduce the number of loop-parts if you put your do while loop within a for each loop and where the in-list contained your different filter criteria and fieldnames - if you loaded these filter criteria and fieldnames into a table and runs then loop through the field-values you could use a normal for loop as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But before I suggest you rethink your whole datamodel then you creates a crosstable which is a rather seldom really suitable. Quite often you could with a normal table-structure easily calculate your needs within the gui.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Nov 2015 13:48:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003613#M341007</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2015-11-01T13:48:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to reduce this Code with a single loop</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003614#M341008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Marcus Sommer&lt;/P&gt;&lt;P&gt;I think your suggestion will work for this scenario, Can you explain me below point with &lt;STRONG&gt;pseudo code&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;'&lt;EM&gt;put your do while loop within a for each loop and where the in-list contained your different filter criteria and fieldnames - if you loaded these filter criteria and fieldnames into a table and runs then loop through the field-values you could use a normal for loop as well.'&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Here our basic idea is to create a summary table which consists of client source, month, metric1, metric 2 ,.....and so on.&lt;/P&gt;&lt;P&gt;ex:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/103673_pastedImage_5.png" style="max-width: 1200px; max-height: 900px;" /&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Madhu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Nov 2015 14:37:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003614#M341008</guid>
      <dc:creator>madhubabum</dc:creator>
      <dc:date>2015-11-01T14:37:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to reduce this Code with a single loop</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003615#M341009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have a look here &lt;A href="https://community.qlik.com/message/735857"&gt;Re: load variable in qlikview&lt;/A&gt; on the answer from &lt;A href="https://community.qlik.com/qlik-users/171708"&gt;sunindia&lt;/A&gt; how a table of variables (in your case would it be the filter criteria and fieldnames) could be loaded and then read within a loop and in this loop you would set your do while loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I think your screenshot from the table showed it quite clear that these table-structure isn't really optimal - the most are NULL's.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 01 Nov 2015 17:22:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-reduce-this-Code-with-a-single-loop/m-p/1003615#M341009</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2015-11-01T17:22:49Z</dc:date>
    </item>
  </channel>
</rss>

