<?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 Propagate Above Product and/or Generate Missing Data in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Propagate-Above-Product-and-or-Generate-Missing-Data/m-p/137176#M600997</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have an application that it show Product values by Year by Quarter.&lt;/P&gt;&lt;P&gt;But I would like to manage the following rules in my application:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- IF a product is shown in Q1 but not in Q2, I'd like to propagate the above product line. (P2)&lt;/P&gt;&lt;P&gt;- IF a product value is NULL, I'd like to generate a missing data with above value of this product. (P3)&lt;/P&gt;&lt;P&gt;- IF a product is added in the first Quarter of a year only, propagate this product and values until end of year. (P4) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data:&lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Year, Quarter, Product, Value&lt;/P&gt;&lt;P&gt;2017, Q1, P1, 1&lt;/P&gt;&lt;P&gt;2017, Q1, P2, 2&lt;/P&gt;&lt;P&gt;2017, Q1, P3, 3&lt;/P&gt;&lt;P&gt;2017, Q1, P4, 4&lt;/P&gt;&lt;P&gt;2017, Q2, P1, 11&lt;/P&gt;&lt;P&gt;2017, Q2, P2, 22&lt;/P&gt;&lt;P&gt;2017, Q2, P3, 33&lt;/P&gt;&lt;P&gt;2017, Q3, P1, 111&lt;/P&gt;&lt;P&gt;2017, Q3, P2, 222&lt;/P&gt;&lt;P&gt;2017, Q3, P3, 333&lt;/P&gt;&lt;P&gt;2017, Q4, P1, 1111&lt;/P&gt;&lt;P&gt;2017, Q4, P2, 2222&lt;/P&gt;&lt;P&gt;2017, Q4, P3, 3333&lt;/P&gt;&lt;P&gt;2018, Q1, P1, 10&lt;/P&gt;&lt;P&gt;2018, Q1, P2, 5&lt;/P&gt;&lt;P&gt;2018, Q1, P3, 1&lt;/P&gt;&lt;P&gt;2018, Q2, P1, 12&lt;/P&gt;&lt;P&gt;2018, Q2, P3, &lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you help me please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;J.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Oct 2018 09:44:44 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-10-25T09:44:44Z</dc:date>
    <item>
      <title>Propagate Above Product and/or Generate Missing Data</title>
      <link>https://community.qlik.com/t5/QlikView/Propagate-Above-Product-and-or-Generate-Missing-Data/m-p/137176#M600997</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have an application that it show Product values by Year by Quarter.&lt;/P&gt;&lt;P&gt;But I would like to manage the following rules in my application:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- IF a product is shown in Q1 but not in Q2, I'd like to propagate the above product line. (P2)&lt;/P&gt;&lt;P&gt;- IF a product value is NULL, I'd like to generate a missing data with above value of this product. (P3)&lt;/P&gt;&lt;P&gt;- IF a product is added in the first Quarter of a year only, propagate this product and values until end of year. (P4) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data:&lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Year, Quarter, Product, Value&lt;/P&gt;&lt;P&gt;2017, Q1, P1, 1&lt;/P&gt;&lt;P&gt;2017, Q1, P2, 2&lt;/P&gt;&lt;P&gt;2017, Q1, P3, 3&lt;/P&gt;&lt;P&gt;2017, Q1, P4, 4&lt;/P&gt;&lt;P&gt;2017, Q2, P1, 11&lt;/P&gt;&lt;P&gt;2017, Q2, P2, 22&lt;/P&gt;&lt;P&gt;2017, Q2, P3, 33&lt;/P&gt;&lt;P&gt;2017, Q3, P1, 111&lt;/P&gt;&lt;P&gt;2017, Q3, P2, 222&lt;/P&gt;&lt;P&gt;2017, Q3, P3, 333&lt;/P&gt;&lt;P&gt;2017, Q4, P1, 1111&lt;/P&gt;&lt;P&gt;2017, Q4, P2, 2222&lt;/P&gt;&lt;P&gt;2017, Q4, P3, 3333&lt;/P&gt;&lt;P&gt;2018, Q1, P1, 10&lt;/P&gt;&lt;P&gt;2018, Q1, P2, 5&lt;/P&gt;&lt;P&gt;2018, Q1, P3, 1&lt;/P&gt;&lt;P&gt;2018, Q2, P1, 12&lt;/P&gt;&lt;P&gt;2018, Q2, P3, &lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you help me please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;J.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2018 09:44:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Propagate-Above-Product-and-or-Generate-Missing-Data/m-p/137176#M600997</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-25T09:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Propagate Above Product and/or Generate Missing Data</title>
      <link>https://community.qlik.com/t5/QlikView/Propagate-Above-Product-and-or-Generate-Missing-Data/m-p/137177#M600998</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have done the following script :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My first three point are OK.&lt;/P&gt;&lt;P&gt;But just my last point is not completely done. P4 is not propagate until end of year.&lt;/P&gt;&lt;P&gt;I think the problem is the definition of my variable vMaxQuarter accord to a Year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any Idea ? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// A - Load all existing Product Values, By Year and by Quarter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TempProductValue:&lt;/P&gt;&lt;P&gt;LOAD &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Year, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dual('Q' &amp;amp; right(Quarter, 1) , right(Quarter, 1))&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; as Quarter, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Value,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product &amp;amp; '|' &amp;amp; Year &amp;amp;'-'&amp;amp; Quarter&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as Product_By_Date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESIDENT Data;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// B - Generate all combinations of Product, Year and Quarter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LET vMinQuarter = 1;&lt;/P&gt;&lt;P&gt;LET vMaxQuarter = right(peek('Quarter'), 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRACE MIN : $(vMinQuarter);&lt;/P&gt;&lt;P&gt;TRACE MAX : $(vMaxQuarter);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TempProduct_x_Year_Quarter:&lt;/P&gt;&lt;P&gt;LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DISTINCT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product, Year&lt;/P&gt;&lt;P&gt;RESIDENT TempProductValue;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JOIN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecNo() + $(vMinQuarter)&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; as Quarter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTOGENERATE $(vMaxQuarter) - $(vMinQuarter)&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// C - Append Missing records onto the Product Value Table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Concatenate(TempProductValue)&lt;/P&gt;&lt;P&gt;LOAD * WHERE NOT EXISTS(Product_By_Date);&lt;/P&gt;&lt;P&gt;LOAD &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Year, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quarter, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product &amp;amp; '|' &amp;amp; Year &amp;amp;'-'&amp;amp; Quarter&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; as Product_By_Date&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;RESIDENT TempProduct_x_Year_Quarter;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// D - Final Table with propagation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Product:&lt;/P&gt;&lt;P&gt;NoConcatenate&lt;/P&gt;&lt;P&gt;LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Year,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quarter,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Product = peek(Product) AND Year = Peek(Year) AND Len(Trim(Value)) = 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , peek(Value)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , Value&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as Value&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;RESIDENT TempProductValue&lt;/P&gt;&lt;P&gt;ORDER BY Product, Year, Quarter&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE TempProductValue;&lt;/P&gt;&lt;P&gt;DROP TABLE TempProduct_x_Year_Quarter;&lt;/P&gt;&lt;P&gt;DROP TABLE Data;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2018 15:05:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Propagate-Above-Product-and-or-Generate-Missing-Data/m-p/137177#M600998</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-25T15:05:44Z</dc:date>
    </item>
  </channel>
</rss>

