<?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 previous row value in calculation in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4119651#M163561</link>
    <description>&lt;P&gt;Hi&amp;nbsp;bhanu_gautam&amp;nbsp;,thanks for the quick reply, I'll add more.&lt;/P&gt;
&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="529690" data-lia-user-login="PKPK90" class="lia-mention lia-mention-user"&gt;PKPK90&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Regarding your question, I think DAX cannot meet your needs, you need to use Power Query to do iterative calculations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Wenbin Zhou&lt;/P&gt;</description>
    <pubDate>Tue, 27 Aug 2024 02:06:35 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-08-27T02:06:35Z</dc:date>
    <item>
      <title>DAX previous row value in calculation</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115320#M163341</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hi, am trying to create dax formula based on logic from excel: NORM is what I would like to achieve&amp;nbsp;&lt;BR /&gt;NORM=IF(AND(BM3=1,BL2&amp;lt;0),BL2,IF(AND(BM3=1,BL2&amp;gt;0),IF(BL2+(G3-H3+BD3-BE3)&amp;gt;0,BL2+(G3-H3+BD3-BE3),0),BL2+(G3-H3+BD3-BE3)))&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;EXP Value:&lt;/STRONG&gt; Each row has an associated EXP value which can be either 1 or 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Previous Row Value:&lt;/STRONG&gt; The calculation for the current row should take into account the result from the previous row.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Conditions Based on EXP:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;If EXP is 1:&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;If the value from the previous row is negative or zero, the value should remain unchanged.&lt;/LI&gt;&lt;LI&gt;If the value from the previous row is positive, it should be reduced by the value of OutStandingRequirement. However, the result cannot be less than zero; if the subtraction results in a negative value, it should be set to zero.&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;this is my formula without "EXP" logic:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;NORM_2 = &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CALCULATE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;SUM&lt;/SPAN&gt;&lt;SPAN&gt;('Table'[OutstandingReceipt]) - &lt;/SPAN&gt;&lt;SPAN&gt;SUM&lt;/SPAN&gt;&lt;SPAN&gt;('Table'[OutStandingRequirement]) +&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;SUMX&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;('Table', 'Table'[Ref_OrderNo.1] = &lt;/SPAN&gt;&lt;SPAN&gt;"BALANCE"&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Table'[OnHandQtyADJ]&lt;/SPAN&gt;&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;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;SUMX&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;('Table', 'Table'[Ref_OrderNo.1] = &lt;/SPAN&gt;&lt;SPAN&gt;"BALANCE"&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Table'[SafetyStockADJ]&lt;/SPAN&gt;&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;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;ALL&lt;/SPAN&gt;&lt;SPAN&gt;('Table'),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Table'[SiteItem] = &lt;/SPAN&gt;&lt;SPAN&gt;EARLIER&lt;/SPAN&gt;&lt;SPAN&gt;('Table'[SiteItem]) &amp;amp;&amp;amp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Table'[Index] &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;EARLIER&lt;/SPAN&gt;&lt;SPAN&gt;('Table'[Index])&lt;/SPAN&gt;&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;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;EXCEL file:&lt;BR /&gt;&lt;A href="https://www.dropbox.com/scl/fi/tf8ems7baq0sgta29l72j/RunningSUM_.xlsb?rlkey=eka0btbauusi5hvbetovb9xkp&amp;amp;st=jgrzqlqb&amp;amp;dl=0" target="_blank"&gt;https://www.dropbox.com/scl/fi/tf8ems7baq0sgta29l72j/RunningSUM_.xlsb?rlkey=eka0btbauusi5hvbetovb9xkp&amp;amp;st=jgrzqlqb&amp;amp;dl=0&lt;/A&gt;&lt;BR /&gt;PBX with data example:&lt;BR /&gt;&lt;A href="https://www.dropbox.com/scl/fi/immyfhzkf7xz5bloc3jew/RunningSum.pbix?rlkey=5vquqasquw7h92vh5kg7evjhn&amp;amp;st=54hrp6pb&amp;amp;dl=0" target="_blank"&gt;https://www.dropbox.com/scl/fi/immyfhzkf7xz5bloc3jew/RunningSum.pbix?rlkey=5vquqasquw7h92vh5kg7evjhn&amp;amp;st=54hrp6pb&amp;amp;dl=0&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 08:44:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115320#M163341</guid>
      <dc:creator>PKPK90</dc:creator>
      <dc:date>2024-08-23T08:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: DAX previous row value in calculation</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115416#M163348</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="529690" data-lia-user-login="PKPK90" class="lia-mention lia-mention-user"&gt;PKPK90&lt;/a&gt;&amp;nbsp;, You can create a calculated column for Norm using below dax&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NORM = &lt;BR /&gt;VAR CurrentIndex = 'Table'[Index]&lt;BR /&gt;VAR CurrentEXP = 'Table'[EXP]&lt;BR /&gt;VAR PreviousNORM = &lt;BR /&gt;CALCULATE(&lt;BR /&gt;MAX('Table'[NORM]),&lt;BR /&gt;FILTER(&lt;BR /&gt;'Table',&lt;BR /&gt;'Table'[SiteItem] = EARLIER('Table'[SiteItem]) &amp;amp;&amp;amp;&lt;BR /&gt;'Table'[Index] &amp;lt; CurrentIndex&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;VAR OutstandingReceipt = 'Table'[OutstandingReceipt]&lt;BR /&gt;VAR OutStandingRequirement = 'Table'[OutStandingRequirement]&lt;BR /&gt;VAR OnHandQtyADJ = &lt;BR /&gt;CALCULATE(&lt;BR /&gt;SUM('Table'[OnHandQtyADJ]),&lt;BR /&gt;FILTER('Table', 'Table'[Ref_OrderNo.1] = "BALANCE")&lt;BR /&gt;)&lt;BR /&gt;VAR SafetyStockADJ = &lt;BR /&gt;CALCULATE(&lt;BR /&gt;SUM('Table'[SafetyStockADJ]),&lt;BR /&gt;FILTER('Table', 'Table'[Ref_OrderNo.1] = "BALANCE")&lt;BR /&gt;)&lt;BR /&gt;VAR Calculation = OutstandingReceipt - OutStandingRequirement + OnHandQtyADJ - SafetyStockADJ&lt;BR /&gt;VAR Result = &lt;BR /&gt;IF(&lt;BR /&gt;CurrentEXP = 1,&lt;BR /&gt;IF(&lt;BR /&gt;PreviousNORM &amp;lt; 0,&lt;BR /&gt;PreviousNORM,&lt;BR /&gt;IF(&lt;BR /&gt;PreviousNORM &amp;gt; 0,&lt;BR /&gt;MAX(0, PreviousNORM + Calculation),&lt;BR /&gt;PreviousNORM + Calculation&lt;BR /&gt;)&lt;BR /&gt;),&lt;BR /&gt;PreviousNORM + Calculation&lt;BR /&gt;)&lt;BR /&gt;RETURN&lt;BR /&gt;Result&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 09:18:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115416#M163348</guid>
      <dc:creator>bhanu_gautam</dc:creator>
      <dc:date>2024-08-23T09:18:26Z</dc:date>
    </item>
    <item>
      <title>Re: DAX previous row value in calculation</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115458#M163355</link>
      <description>&lt;P&gt;Hi, thank you for your reply. In your message, you are referring to the NORM column, which is just an example of what I hope to achieve with the DAX calculation. The NORM column should not be included in the calculation.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 09:36:34 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4115458#M163355</guid>
      <dc:creator>PKPK90</dc:creator>
      <dc:date>2024-08-23T09:36:34Z</dc:date>
    </item>
    <item>
      <title>Re: DAX previous row value in calculation</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4119651#M163561</link>
      <description>&lt;P&gt;Hi&amp;nbsp;bhanu_gautam&amp;nbsp;,thanks for the quick reply, I'll add more.&lt;/P&gt;
&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="529690" data-lia-user-login="PKPK90" class="lia-mention lia-mention-user"&gt;PKPK90&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Regarding your question, I think DAX cannot meet your needs, you need to use Power Query to do iterative calculations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Wenbin Zhou&lt;/P&gt;</description>
      <pubDate>Tue, 27 Aug 2024 02:06:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-previous-row-value-in-calculation/m-p/4119651#M163561</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-08-27T02:06:35Z</dc:date>
    </item>
  </channel>
</rss>

