<?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: Cumulation in Load Script =&amp;gt; fill missing month postings in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2454143#M98251</link>
    <description>&lt;P&gt;you create a calendar from your minimum available date till today for example from the beginning of a desired year:&lt;/P&gt;
&lt;DIV&gt;let StartDate = num(DayStart(YearStart(MakeDate(2000))));&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; let EndDate = num(daystart(monthend(Today())));&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; //Create a temporary calendar&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; TempCalendar:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; load recno() as Date_Key,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; '$(StartDate)'+recno()-1 as PeriodDate&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; autogenerate(EndDate-StartDate+1);&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; &amp;nbsp;MasterCalendar:&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; load&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Year(PeriodDate) as YEAR,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Month(PeriodDate) as MONTH,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Num(Month(PeriodDate)) as MONTH_NUM,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; resident TempCalendar&amp;nbsp; order by PeriodDate Asc;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Drop table TempCalendar;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;then you outer join your fact table with this calendar&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;now you sort your fact table by account and date&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;if previous(account) &amp;lt;&amp;gt; account, amount, peek(cum_amount) + amount) as cum_amount&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 20 May 2024 11:01:53 GMT</pubDate>
    <dc:creator>ali_hijazi</dc:creator>
    <dc:date>2024-05-20T11:01:53Z</dc:date>
    <item>
      <title>Cumulation in Load Script =&gt; fill missing month postings</title>
      <link>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2453554#M98189</link>
      <description>&lt;P&gt;Hi Community,&lt;/P&gt;
&lt;P&gt;I need your help on a load script.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I created this Qlik Script:&lt;/P&gt;
&lt;P&gt;Table_CUM:&lt;/P&gt;
&lt;P&gt;Load&lt;/P&gt;
&lt;P&gt;Year,&lt;/P&gt;
&lt;P&gt;Month,&lt;/P&gt;
&lt;P&gt;YearMonth,&lt;/P&gt;
&lt;P&gt;Order,&lt;/P&gt;
&lt;P&gt;Orderpos,&lt;/P&gt;
&lt;P&gt;Account,&lt;/P&gt;
&lt;P&gt;Value,&lt;/P&gt;
&lt;P&gt;if((Previous(Orderpos)=Orderpos and Previous(Account)=Account,rangesum(peek('Value_cum'),Value),Value) as Value_cum&lt;/P&gt;
&lt;P&gt;Resident Table&lt;/P&gt;
&lt;P&gt;Order by Orderpos ASC, Account ASC, YearMonth ASC;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This Script cumulates all the values; but I want all the Months being filled with cumulated results in Column Value_cum (see Result vs. Desired result). How could I achieve this?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Christian&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 09:21:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2453554#M98189</guid>
      <dc:creator>ChrisGer</dc:creator>
      <dc:date>2024-05-17T09:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: Cumulation in Load Script =&gt; fill missing month postings</title>
      <link>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2453786#M98208</link>
      <description>&lt;P&gt;Hey Christian,&lt;BR /&gt;I would suggest to use best practices of building data models, please check this out&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Design/The-As-Of-Table/ba-p/1466130" target="_self"&gt;The As-Of Table&lt;/A&gt;&amp;nbsp;.&lt;BR /&gt;But if you really insist on your variation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;InitialTable:
Load * inline [
Year, Month, YearMonth, Order, Orderpos, Account, Value
2023, 07, 202307, 1002,	1002-700, Revenue, 384400
2023, 12, 202312, 1002, 1002-1000, Revenue, 1150000
];

Join(InitialTable)
Load
  Year(Date)*100+Month(Date) as YearMonth;
Load 
  Monthstart(DateMin,IterNo()-1) as Date
While Monthstart(DateMin,IterNo()-1)&amp;lt;=DateMax;
LOAD
  min(datefield) as DateMin,
  MonthStart(Today()) as DateMax
;
LOAD
  MakeDate(left(FieldValue('YearMonth', RecNo()),4),Right(FieldValue('YearMonth', RecNo()),2)) as datefield
AutoGenerate FieldValueCount('YearMonth');

ResultTable:
Load *,
if(Previous(Orderpos)=Orderpos and Previous(Account)= Account,rangesum(peek('Value_cum'),Value), Value) as Value_cum;
Load
  num(left(YearMonth,4)) as Year,
  right(YearMonth,2) as Month,
  YearMonth,
  alt(Order,PEEK(Order)) as Order,
  Coalesce(Orderpos,PEEK(Orderpos)) as Orderpos,
  Coalesce(Account,PEEK(Account)) as Account,
  alt(Value,0) as Value;
Load *
Resident InitialTable
Order By YearMonth asc;
Drop table InitialTable;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 20:20:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2453786#M98208</guid>
      <dc:creator>Firefly_cam</dc:creator>
      <dc:date>2024-05-17T20:20:43Z</dc:date>
    </item>
    <item>
      <title>Re: Cumulation in Load Script =&gt; fill missing month postings</title>
      <link>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2454143#M98251</link>
      <description>&lt;P&gt;you create a calendar from your minimum available date till today for example from the beginning of a desired year:&lt;/P&gt;
&lt;DIV&gt;let StartDate = num(DayStart(YearStart(MakeDate(2000))));&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; let EndDate = num(daystart(monthend(Today())));&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; //Create a temporary calendar&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; TempCalendar:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; load recno() as Date_Key,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; '$(StartDate)'+recno()-1 as PeriodDate&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; autogenerate(EndDate-StartDate+1);&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; &amp;nbsp;MasterCalendar:&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; load&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Year(PeriodDate) as YEAR,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Month(PeriodDate) as MONTH,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Num(Month(PeriodDate)) as MONTH_NUM,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; resident TempCalendar&amp;nbsp; order by PeriodDate Asc;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; Drop table TempCalendar;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;then you outer join your fact table with this calendar&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;now you sort your fact table by account and date&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;if previous(account) &amp;lt;&amp;gt; account, amount, peek(cum_amount) + amount) as cum_amount&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 20 May 2024 11:01:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Cumulation-in-Load-Script-gt-fill-missing-month-postings/m-p/2454143#M98251</guid>
      <dc:creator>ali_hijazi</dc:creator>
      <dc:date>2024-05-20T11:01:53Z</dc:date>
    </item>
  </channel>
</rss>

