<?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: DAX implementation of Holt-Winters Additive - Help working around Recursion in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974207#M99533</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="4653" data-lia-user-login="Sohrab" class="lia-mention lia-mention-user"&gt;Sohrab&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How is G9 calculated?&lt;/P&gt;</description>
    <pubDate>Fri, 16 Dec 2022 22:11:39 GMT</pubDate>
    <dc:creator>tamerj1</dc:creator>
    <dc:date>2022-12-16T22:11:39Z</dc:date>
    <item>
      <title>DAX implementation of Holt-Winters Additive - Help working around Recursion</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974169#M99530</link>
      <description>&lt;P&gt;Our users love the forecasts that the Power BI visuals provide.&amp;nbsp; However, we need to be able to see the values of the forecasted values in a Power BI visual, i.e. a table, as well as to be able to do more with those values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sandeep Pawar has a great post about the underlying methodology used by Power BI: ETS(AAA)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pawarbi.github.io/blog/forecasting/python/powerbi/forecasting_in_powerbi/2020/04/24/timeseries-powerbi.html#How-does-Power-BI-create-the-forecast?" target="_blank"&gt;https://pawarbi.github.io/blog/forecasting/python/powerbi/forecasting_in_powerbi/2020/04/24/timeseries-powerbi.html#How-does-Power-BI-create-the-forecast?&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Charles Zaiontz from Real-Statistics.com has excellent working models in Excel of Holt-Winters Additive &amp;lt;-&amp;gt; ETS(AAA)&lt;/P&gt;&lt;P&gt;Formulas:&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.real-statistics.com/time-series-analysis/basic-time-series-forecasting/holt-winters-additive/" target="_blank"&gt;https://www.real-statistics.com/time-series-analysis/basic-time-series-forecasting/holt-winters-additive/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Excel file with example (see sheet HoltWinters6):&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.real-statistics.com/wp-content/uploads/2022/03/Real-Statistics-Time-Series-Examples.xlsx" target="_blank"&gt;https://www.real-statistics.com/wp-content/uploads/2022/03/Real-Statistics-Time-Series-Examples.xlsx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The method is, unfortunately for enthusiastic but (so far) unsuccessful DAX practitioners, *&lt;STRONG&gt;recursive&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Having read through all of &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="313" data-lia-user-login="Greg_Deckler" class="lia-mention lia-mention-user"&gt;Greg_Deckler&lt;/a&gt;&amp;nbsp;'s writing on working around implementing recursion in DAX, as well as&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="39298" data-lia-user-login="AlexisOlson" class="lia-mention lia-mention-user"&gt;AlexisOlson&lt;/a&gt;&amp;nbsp;'s great StackOverflow posts&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/61257536/how-to-perform-sum-of-previous-cells-of-same-column-in-powerbi" target="_blank"&gt;https://stackoverflow.com/questions/61257536/how-to-perform-sum-of-previous-cells-of-same-column-in-powerbi&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/60641059/dax-formula-referencing-itself/60656874#60656874" target="_blank"&gt;https://stackoverflow.com/questions/60641059/dax-formula-referencing-itself/60656874#60656874&lt;/A&gt; on closed-form implementations, we're still stuck, with all roads leading to the dreaded circular dependecy error.&amp;nbsp; I was momentarily excited thinking that the new OFFSET() function would help, but the DAX engine wasn't fooled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Help me&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="313" data-lia-user-login="Greg_Deckler" class="lia-mention lia-mention-user"&gt;Greg_Deckler&lt;/a&gt;&amp;nbsp;, you're my only hope!&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 21:12:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974169#M99530</guid>
      <dc:creator>Sohrab</dc:creator>
      <dc:date>2022-12-16T21:12:02Z</dc:date>
    </item>
    <item>
      <title>Re: DAX implementation of Holt-Winters Additive - Help working around Recursion</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974207#M99533</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="4653" data-lia-user-login="Sohrab" class="lia-mention lia-mention-user"&gt;Sohrab&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How is G9 calculated?&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:11:39 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974207#M99533</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-12-16T22:11:39Z</dc:date>
    </item>
    <item>
      <title>Re: DAX implementation of Holt-Winters Additive - Help working around Recursion</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974314#M99538</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="317289" data-lia-user-login="tamerj1" class="lia-mention lia-mention-user"&gt;tamerj1&lt;/a&gt;&amp;nbsp;- for the purpose of getting things done, you can assume that the initial values of cells u (Excel cell G9), v (Excel cell H9) and s (Excel cell I9) in the Excel are constants that you can "hardcode", ex. 14.25 and 1.875 respectively can be set as the "base" values (in reality, ther is a way to derive them, but that's not the part where I'm stuck).&lt;/P&gt;&lt;P&gt;G10 however takes G9, H9 and "an older I".&amp;nbsp; Similarly, H10 takes G9 and H9 as inputs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In general, both of &lt;STRONG&gt;u_i&lt;/STRONG&gt; and &lt;STRONG&gt;v_i&lt;/STRONG&gt; take &lt;STRONG&gt;u_i&lt;/STRONG&gt;-1 and &lt;STRONG&gt;v_i&lt;/STRONG&gt;-1 as inputs.&lt;/P&gt;</description>
      <pubDate>Sat, 17 Dec 2022 01:57:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974314#M99538</guid>
      <dc:creator>Sohrab</dc:creator>
      <dc:date>2022-12-17T01:57:35Z</dc:date>
    </item>
    <item>
      <title>Re: DAX implementation of Holt-Winters Additive - Help working around Recursion</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974899#M99578</link>
      <description>&lt;P&gt;This looks at least as messy as another multi-column recursive process I found a closed form of:&lt;BR /&gt;&lt;A href="https://www.linkedin.com/pulse/hammering-recursive-screw-power-math-dax-alexis-olson/" target="_blank"&gt;https://www.linkedin.com/pulse/hammering-recursive-screw-power-math-dax-alexis-olson/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Without a significant amount of effort I can't even tell if it's possible, so I really don't recommend attempting this in DAX without exhausting other approaches first.&lt;/P&gt;</description>
      <pubDate>Sat, 17 Dec 2022 23:58:29 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/2974899#M99578</guid>
      <dc:creator>AlexisOlson</dc:creator>
      <dc:date>2022-12-17T23:58:29Z</dc:date>
    </item>
    <item>
      <title>Re: DAX implementation of Holt-Winters Additive - Help working around Recursion</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/3796338#M148378</link>
      <description>&lt;P&gt;power bi cannot do a real holt winters.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;it is easy to do in excel.&lt;/P&gt;&lt;P&gt;in a worksheet set 3 cells to be labels Level, Trend, Season. put 0.5's as values next to them. these value cells will be used by Solver with a min of 0 and a max of 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;colmn a can be yoir dates and column b the values. its best to have 7-8 years of data. 2 years is too little to use time series.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;column c make a 12 mo rolling average. this eould start with ypur 13th data point of course. each of these is your level. fill this diwn to the bottom of your data.&lt;/P&gt;&lt;P&gt;in the 25th data point, it is the cuurent level less the prior one 12 mo back. this is your trend. fill this down to the bottom.&lt;/P&gt;&lt;P&gt;next create a season column. i do this by making a column that always shows a 1, 2, 3 etc thru 12, so each row shows the period number. then in a columnmext to this, use sumif to sum the total of that period / countif of the count of them. example so at row 50 or so, it might be summing 3 period 10's devided by 3. this returns an average for that season point. subtract from this the level. theiretically ypur season, or gamma, should net to zero w sime a megative and some a positive. the holt winters uses level w subtracted or added value to calculate the season amount in the forecast.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;next create a backtrst column.&lt;/P&gt;&lt;P&gt;start w data point 25.&lt;/P&gt;&lt;P&gt;=level times yoir Alpha or level control cell up top that says 0.5, &amp;nbsp; &amp;nbsp; plus trend times Beta or the trend control cell up top, plus season value times Gamma pr yoir season control cell.&lt;/P&gt;&lt;P&gt;fill this diwn, its ok it will look weird at furst.&lt;/P&gt;&lt;P&gt;column next to this,&lt;/P&gt;&lt;P&gt;subtract the actuak data point from the forecast data point, putvthis in an ABS to maje it akways posituve. fill down.&lt;/P&gt;&lt;P&gt;so you are baxktesting all actuaks.&lt;/P&gt;&lt;P&gt;make one cell up near yoir 3 control cells that totaks your ABS values only diwn to the bottom on yoir actuaks.&lt;/P&gt;&lt;P&gt;now insolver&lt;/P&gt;&lt;P&gt;tell it to change three cpntrol cells at yhe top, alpha beta and gamma, (level, trebd, season) and minimize the total of your variances cell.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;now just fill dien yoir forecast column into the future.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;its not perfect because true holt winters does what is called decomposition to first remove trend BEFORE creating season.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the excel approach, i used it with the State of Maine to forecast the Medicaid ask for the legislatire biennium ask and it was tested by a slew of people, and it ended up backtesting afyer i created a 2013 forecast for 2013 and 2014 usibg actuaks from 2003-2012. it backtested after a year went by in 2013 very well, it was off only 0.5%. in that model i had invented a complocated way to decompose the level first to get the real seasob.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;good luck!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ild tecommend first learnibv how holt winters works, the equation.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 10:42:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-implementation-of-Holt-Winters-Additive-Help-working-around/m-p/3796338#M148378</guid>
      <dc:creator>ttrebilcock</dc:creator>
      <dc:date>2024-03-28T10:42:03Z</dc:date>
    </item>
  </channel>
</rss>

