<?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: Pivot table, master calendar, missing dates in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519178#M106192</link>
    <description>&lt;P&gt;I would like to show 'all' weeks from Master Calendar table and run PSI calculation for all weeks (even with null values). So make Master Calendar to filter PSI table, not reverse. Is that possible?&lt;/P&gt;</description>
    <pubDate>Tue, 27 May 2025 14:19:05 GMT</pubDate>
    <dc:creator>PKPK90</dc:creator>
    <dc:date>2025-05-27T14:19:05Z</dc:date>
    <item>
      <title>Pivot table, master calendar, missing dates</title>
      <link>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519158#M106188</link>
      <description>&lt;P&gt;Hello, I am trying to create running calculation in pivot table (PSI), but for null values it is not showing data. I have master calendar created it is connected to data table, but still it is not showing 'null' values for missing data rows and PSI calculation is not available, it is running but only for columns with values available.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;PSI:&lt;/P&gt;
&lt;P&gt;Sum(&lt;BR /&gt;Aggr(&lt;BR /&gt;RangeSum(&lt;BR /&gt;Above(&lt;BR /&gt;Alt(Sum(SUPPLYQTY),0) - Alt(Sum(DEMANDQTY),0)*-1,&lt;BR /&gt;0,&lt;BR /&gt;RowNo()&lt;BR /&gt;)&lt;BR /&gt;),&lt;BR /&gt;ITEMID,&lt;BR /&gt;YearWeek&lt;BR /&gt;))&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PKPK90_2-1748350798939.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180817iE8F03B2FE3E571C8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PKPK90_2-1748350798939.png" alt="PKPK90_2-1748350798939.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PKPK90_0-1748350687399.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180818i51CAF4703026C3D8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PKPK90_0-1748350687399.png" alt="PKPK90_0-1748350687399.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;DataLoadEditor:&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;PSI_V1:&lt;/DIV&gt;
&lt;DIV&gt;SELECT RQ.*,&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;INV.PRIMARYVENDORID,&lt;/DIV&gt;
&lt;DIV&gt;INV.BOMUNITID,&lt;/DIV&gt;
&lt;DIV&gt;INV.NAMEALIAS,&lt;/DIV&gt;
&lt;DIV&gt;INV.PRODGROUPID,&lt;/DIV&gt;
&lt;DIV&gt;INV.ITEMBUYERGROUPID,&lt;/DIV&gt;
&lt;DIV&gt;IBV.DESCRIPTION,&lt;/DIV&gt;
&lt;DIV&gt;IBV.NAME,&lt;/DIV&gt;
&lt;DIV&gt;IDM.INVENTLOCATIONID,&lt;/DIV&gt;
&lt;DIV&gt;IDM.INVENTSITEID,&lt;/DIV&gt;
&lt;DIV&gt;IDM.wMSLocationId,&lt;/DIV&gt;
&lt;DIV&gt;//INV.KCS_PRIMARYVENDNAME,&lt;/DIV&gt;
&lt;DIV&gt;//INV.KCS_STRATEGICBUYERGROUPID,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; CASE RefType&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHEN 0 THEN 'None'&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHEN 1 THEN 'InventOnHand'&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ....&lt;/DIV&gt;
&lt;DIV&gt;ORDER BY RQ.DATAAREAID, RQ.ITEMID, MRPDate_V1, MRPSort;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;PSI:&lt;/DIV&gt;
&lt;DIV&gt;LOAD *,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Date(Floor(&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IF(REFTYPE = 1 OR REFTYPE = 14,&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Date(Today()),&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REQDATE)) // to samo co MRPDate_V1 w SQL&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;) AS MRPDate&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;RESIDENT PSI_V1;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;DROP TABLE PSI_V1;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;TAG FIELD RQ.REQDATE WITH '$date';&lt;/DIV&gt;
&lt;DIV&gt;TAG FIELD RQ.REQDATEDVOGIR WITH '$date';&lt;/DIV&gt;
&lt;DIV&gt;.....&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;MinMaxDates:&lt;/DIV&gt;
&lt;DIV&gt;LOAD&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Min(REQDATE) AS MinDateRaw,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Max(REQDATE) AS MaxDate&lt;/DIV&gt;
&lt;DIV&gt;RESIDENT PSI&lt;/DIV&gt;
&lt;DIV&gt;WHERE REQDATE &amp;gt; MakeDate(1900,1,1);&amp;nbsp; // Ignorowanie daty 1900-01-01&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;LET vMinDateRaw = Peek('MinDateRaw', 0, 'MinMaxDates');&lt;/DIV&gt;
&lt;DIV&gt;LET vMaxDate = Date(Peek('MaxDate', 0, 'MinMaxDates'));&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;// Jeśli minimalna data jest NULL (brak rzeczywistych dat), ustaw domyślną wartość&lt;/DIV&gt;
&lt;DIV&gt;LET vMinDate = IF(Len('$(vMinDateRaw)') &amp;gt; 0, Date('$(vMinDateRaw)'), NULL);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;LET vMinDateNum = Num(Date#('$(vMinDate)', 'MM/DD/YYYY'));&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;LET vMaxDateNum = Num(Date#('$(vMaxDate)', 'MM/DD/YYYY'));&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;MasterCalendar:&lt;/DIV&gt;
&lt;DIV&gt;LOAD&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Date($(vMinDateNum) + IterNo() - 1) AS MRPDate,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Week(Date($(vMinDateNum) + IterNo() - 1)) AS WeekNum,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; WeekYear(Date($(vMinDateNum) + IterNo() - 1)) AS WeekYear,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Month(Date($(vMinDateNum) + IterNo() - 1)) AS MonthName,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Month(Date($(vMinDateNum) + IterNo() - 1)) AS MonthNum,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Year(Date($(vMinDateNum) + IterNo() - 1)) AS Year,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Year(Date($(vMinDateNum) + IterNo() - 1)) * 100 + Week(Date($(vMinDateNum) + IterNo() - 1)) AS YearWeek,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; QuarterName(Date($(vMinDateNum) + IterNo() - 1)) AS Quarter,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Date(MonthStart(Date($(vMinDateNum) + IterNo() - 1))) AS MonthStart,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Date(WeekStart(Date($(vMinDateNum) + IterNo() - 1))) AS WeekStart,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Day(Date($(vMinDateNum) + IterNo() - 1)) AS Day,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; WeekDay(Date($(vMinDateNum) + IterNo() - 1)) AS WeekDayName,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; If(Match(WeekDay(Date($(vMinDateNum) + IterNo() - 1)), 'Sat', 'Sun'), 1, 0) AS IsWeekend&lt;/DIV&gt;
&lt;DIV&gt;AUTOGENERATE 1&lt;/DIV&gt;
&lt;DIV&gt;WHILE $(vMinDateNum) + IterNo() - 1 &amp;lt;= $(vMaxDateNum);&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;DROP TABLE MinMaxDates;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;TAG FIELD MRPDate WITH '$date';&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;TRACE vMinDate: $(vMinDate);&lt;/DIV&gt;
&lt;DIV&gt;TRACE MaxDate: $(vMaxDate);&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 27 May 2025 13:02:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519158#M106188</guid>
      <dc:creator>PKPK90</dc:creator>
      <dc:date>2025-05-27T13:02:26Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot table, master calendar, missing dates</title>
      <link>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519169#M106189</link>
      <description>&lt;P&gt;You seem to be using a field from the main table (ITEMID) in your AGGR(), so this behavior is as expected. You'd need to change that if you want to show cases where that field is missing.&lt;/P&gt;</description>
      <pubDate>Tue, 27 May 2025 13:26:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519169#M106189</guid>
      <dc:creator>Or</dc:creator>
      <dc:date>2025-05-27T13:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot table, master calendar, missing dates</title>
      <link>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519178#M106192</link>
      <description>&lt;P&gt;I would like to show 'all' weeks from Master Calendar table and run PSI calculation for all weeks (even with null values). So make Master Calendar to filter PSI table, not reverse. Is that possible?&lt;/P&gt;</description>
      <pubDate>Tue, 27 May 2025 14:19:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519178#M106192</guid>
      <dc:creator>PKPK90</dc:creator>
      <dc:date>2025-05-27T14:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: Pivot table, master calendar, missing dates</title>
      <link>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519199#M106199</link>
      <description>&lt;P&gt;It's not possible - at least not in a sensible way. The tables are associated and therefore the missing key-values respectively the NULL's will impact each other. In some scenarios you may get the NULL's with alt() or range-functions and/or {1} set analysis and/or calculated dimensions which enforce the entire dimension-table within the object. But the needed efforts and the complexity could become quite high and will also cause various side-effects in regard to the performance and the usability.&lt;/P&gt;&lt;P&gt;Or in other words you will always need a dimension-value to show a calculation-result against it - and if the measures come from the facts all wanted dimension-values must be within the facts. To have them in the dimensions is not sufficient.&lt;/P&gt;&lt;P&gt;The most practically workaround is usually to populate the missing data.&lt;/P&gt;&lt;P&gt;Beside this the mentioned NULL's are neither a technically nor a logically error which must mandatory be resolved - else the NULL (gaps in the charts and grey field-values in the selection-objects) itself is a valuable information.&lt;/P&gt;</description>
      <pubDate>Tue, 27 May 2025 15:20:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Pivot-table-master-calendar-missing-dates/m-p/2519199#M106199</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2025-05-27T15:20:09Z</dc:date>
    </item>
  </channel>
</rss>

