<?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: Reverse Running Total based On Another Column in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4336133#M172176</link>
    <description>&lt;P&gt;Hi&amp;nbsp;Anonymous&lt;/LI-USER&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Have you solved your problem? If so, can you share your solution here and mark the correct answer as a standard answer to help other members find it faster?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Yilong Zhou&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 19 Dec 2024 05:54:42 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-12-19T05:54:42Z</dc:date>
    <item>
      <title>Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4311560#M171228</link>
      <description>&lt;P&gt;I've got 4 columns:&lt;BR /&gt;date,&lt;BR /&gt;ContractCode,&lt;BR /&gt;SALES,&lt;BR /&gt;WIP&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,309,658.44&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,628,801.66&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,553,039.34&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,534,546.60&lt;/TD&gt;&lt;TD&gt;449,940.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,217,576.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,569,600.00&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,498,596.52&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,153,806.00&lt;/TD&gt;&lt;TD&gt;7,147,211.20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,591,384.00&lt;/TD&gt;&lt;TD&gt;1,252,049.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,515,768.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,362,323.98&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,326,576.00&lt;/TD&gt;&lt;TD&gt;8,540,147.66&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,468,997.02&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,486,834.54&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,463,386.62&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,411,629.88&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,428,952.88&lt;/TD&gt;&lt;TD&gt;159,268.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,402,028.18&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,477,901.14&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,129,457.16&lt;/TD&gt;&lt;TD&gt;5,413,048.61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,271,300.55&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,191,459.42&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm currently struggling to calculate FirstWeekToMeetTarget.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Here’s how the &lt;STRONG&gt;FirstWeekToMeetTarget&lt;/STRONG&gt; is calculated step by step:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Identify the Target (WIP):&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each row, check the value of WIP.&lt;/LI&gt;&lt;LI&gt;If the value is &lt;STRONG&gt;non-zero&lt;/STRONG&gt; or &lt;STRONG&gt;non-blank&lt;/STRONG&gt;, that row becomes the target for the calculation.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Reverse Cumulative Sales Calculation:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Starting from the &lt;STRONG&gt;current week&lt;/STRONG&gt; (row with the target WIP), sum up the SALES values &lt;STRONG&gt;backward in time&lt;/STRONG&gt; (week by week).&lt;/LI&gt;&lt;LI&gt;Continue summing until the cumulative sales meet or exceed the target value (WIP).&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Determine the First Week:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The &lt;STRONG&gt;FirstWeekToMeetTarget&lt;/STRONG&gt; is the earliest week (while summing backwards) where the cumulative sales &lt;STRONG&gt;first meet or exceed&lt;/STRONG&gt; the target value.&lt;/LI&gt;&lt;LI&gt;If no week meets the target, the result will remain blank.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Here is the expected output (The dataset is a sample of one ContractCode, there are many other ContractCode):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,309,658.44&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,628,801.66&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,553,039.34&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,534,546.60&lt;/TD&gt;&lt;TD&gt;449,940.00&lt;/TD&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,217,576.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,569,600.00&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,498,596.52&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,153,806.00&lt;/TD&gt;&lt;TD&gt;7,147,211.20&lt;/TD&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,591,384.00&lt;/TD&gt;&lt;TD&gt;1,252,049.00&lt;/TD&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,515,768.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,362,323.98&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,326,576.00&lt;/TD&gt;&lt;TD&gt;8,540,147.66&lt;/TD&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,468,997.02&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,486,834.54&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,463,386.62&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,411,629.88&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,428,952.88&lt;/TD&gt;&lt;TD&gt;159,268.00&lt;/TD&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,402,028.18&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,477,901.14&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,129,457.16&lt;/TD&gt;&lt;TD&gt;5,413,048.61&lt;/TD&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,271,300.55&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,191,459.42&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;FYI - The reason why there's no date for these two rows is becuase stakeholder has given me a sample dataset, the data for this particular ContractCode only goes back as far as 29/03/204 but once I have the full dataset, I expect the calulcation to populate these rows&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Once I've got this calculated column correct I would like another calulcated column that counts the number of weeks it took&amp;nbsp;SALES&amp;nbsp;to &amp;gt;= Wip&lt;BR /&gt;e.g.&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;ContractCode&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;This took 8 weeks of SALES to &amp;gt;= Wip&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;ContractCode&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;This took 1 week of &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="604036" data-lia-user-login="SALES" class="lia-mention lia-mention-user"&gt;SALES&lt;/a&gt; to &amp;gt;= @Wip&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my current calulated table formula:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;Table = 
VAR TempTable1 =
    ADDCOLUMNS(
        SUMMARIZECOLUMNS(
            'WIP &amp;amp; Debt Data'[Date],
            'WIP &amp;amp; Debt Data'[Contract Code],
            "@Sales", SUM('WIP &amp;amp; Debt Data'[Sales]),
            "@WIP", SUM('WIP &amp;amp; Debt Data'[Closing WIP &amp;amp; Debt])
        ),
        "CumulativeSales",
        VAR CurrentDate = [Date]
        VAR CurrentContract = [Contract Code]
        RETURN
            CALCULATE(
                SUM('WIP &amp;amp; Debt Data'[Sales]),
                FILTER(
                    ALL('WIP &amp;amp; Debt Data'),
                    'WIP &amp;amp; Debt Data'[Date] &amp;lt;= CurrentDate &amp;amp;&amp;amp;
                    'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                )
            )
    )

VAR ResultTable =
    ADDCOLUMNS(
        TempTable1,
        "FirstWeekToMeetTarget", 
VAR TargetWIPDebt = [@WIP]
VAR CurrentDate = [Date]
VAR CurrentContract = [Contract Code]
RETURN
    IF (
        TargetWIPDebt &amp;gt; 0,
        CALCULATE(
            MINX(
                FILTER(
                    ALLSELECTED('WIP &amp;amp; Debt Data'),
                    'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                    &amp;amp;&amp;amp; 'WIP &amp;amp; Debt Data'[Date] &amp;lt;= CurrentDate
                ),
                'WIP &amp;amp; Debt Data'[Date]
            ),
            FILTER (
                ALLSELECTED ( 'WIP &amp;amp; Debt Data' ),
                'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                &amp;amp;&amp;amp; CALCULATE (
                    SUM ( 'WIP &amp;amp; Debt Data'[Sales] ),
                    FILTER (
                        ALLSELECTED ( 'WIP &amp;amp; Debt Data' ),
                        'WIP &amp;amp; Debt Data'[Date] &amp;lt;= EARLIER ( 'WIP &amp;amp; Debt Data'[Date] )
                    )
                ) &amp;gt;= TargetWIPDebt
            )
        )
    )
    )
RETURN
    FILTER(
        ResultTable,
        NOT ISBLANK([@WIP&amp;amp;Debt]) // Filter out rows with blank WIP &amp;amp; Debt
    )&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Tue, 03 Dec 2024 12:01:52 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4311560#M171228</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-12-03T12:01:52Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4311549#M171256</link>
      <description>&lt;P&gt;I've got 4 columns:&lt;BR /&gt;date,&lt;BR /&gt;ContractCode,&lt;BR /&gt;SALES,&lt;BR /&gt;WIP&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,309,658.44&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,628,801.66&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,553,039.34&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,534,546.60&lt;/TD&gt;&lt;TD&gt;449,940.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,217,576.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,569,600.00&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,498,596.52&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,153,806.00&lt;/TD&gt;&lt;TD&gt;7,147,211.20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,591,384.00&lt;/TD&gt;&lt;TD&gt;1,252,049.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,515,768.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,362,323.98&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,326,576.00&lt;/TD&gt;&lt;TD&gt;8,540,147.66&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,468,997.02&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,486,834.54&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,463,386.62&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,411,629.88&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,428,952.88&lt;/TD&gt;&lt;TD&gt;159,268.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,402,028.18&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,477,901.14&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,129,457.16&lt;/TD&gt;&lt;TD&gt;5,413,048.61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,271,300.55&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,191,459.42&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm currently struggling to calculate FirstWeekToMeetTarget.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Here’s how the &lt;STRONG&gt;FirstWeekToMeetTarget&lt;/STRONG&gt; is calculated step by step:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Identify the Target (WIP):&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each row, check the value of WIP.&lt;/LI&gt;&lt;LI&gt;If the value is &lt;STRONG&gt;non-zero&lt;/STRONG&gt; or &lt;STRONG&gt;non-blank&lt;/STRONG&gt;, that row becomes the target for the calculation.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Reverse Cumulative Sales Calculation:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Starting from the &lt;STRONG&gt;current week&lt;/STRONG&gt; (row with the target WIP), sum up the SALES values &lt;STRONG&gt;backward in time&lt;/STRONG&gt; (week by week).&lt;/LI&gt;&lt;LI&gt;Continue summing until the cumulative sales meet or exceed the target value (WIP).&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Determine the First Week:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The &lt;STRONG&gt;FirstWeekToMeetTarget&lt;/STRONG&gt; is the earliest week (while summing backwards) where the cumulative sales &lt;STRONG&gt;first meet or exceed&lt;/STRONG&gt; the target value.&lt;/LI&gt;&lt;LI&gt;If no week meets the target, the result will remain blank.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Here is the expected output (The dataset is a sample of one ContractCode, there are many other ContractCode):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,309,658.44&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,628,801.66&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,553,039.34&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,534,546.60&lt;/TD&gt;&lt;TD&gt;449,940.00&lt;/TD&gt;&lt;TD&gt;03/05/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,217,576.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,569,600.00&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,498,596.52&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31/05/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,153,806.00&lt;/TD&gt;&lt;TD&gt;7,147,211.20&lt;/TD&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,591,384.00&lt;/TD&gt;&lt;TD&gt;1,252,049.00&lt;/TD&gt;&lt;TD&gt;07/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,515,768.40&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,362,323.98&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;28/06/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,326,576.00&lt;/TD&gt;&lt;TD&gt;8,540,147.66&lt;/TD&gt;&lt;TD&gt;17/05/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,468,997.02&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,486,834.54&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,463,386.62&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/07/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,411,629.88&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,428,952.88&lt;/TD&gt;&lt;TD&gt;159,268.00&lt;/TD&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,402,028.18&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,477,901.14&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,129,457.16&lt;/TD&gt;&lt;TD&gt;5,413,048.61&lt;/TD&gt;&lt;TD&gt;09/08/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,271,300.55&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,191,459.42&lt;/TD&gt;&lt;TD&gt;0.00&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;FYI - The reason why there's no date for these two rows is becuase stakeholder has given me a sample dataset, the data for this particular ContractCode only goes back as far as 29/03/204 but once I have the full dataset, I expect the calulcation to populate these rows&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Contract Code&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29/03/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,543,706.16&lt;/TD&gt;&lt;TD&gt;10,209,064.12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;26/04/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,551,622.00&lt;/TD&gt;&lt;TD&gt;8,174,078.70&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Once I've got this calculated column correct I would like another calulcated column that counts the number of weeks it took&amp;nbsp;SALES&amp;nbsp;to &amp;gt;= Wip&lt;BR /&gt;e.g.&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;ContractCode&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/08/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,384,225.94&lt;/TD&gt;&lt;TD&gt;10,612,779.26&lt;/TD&gt;&lt;TD&gt;14/06/2024&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;This took 8 weeks of SALES to &amp;gt;= Wip&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;ContractCode&lt;/TD&gt;&lt;TD&gt;SALES&lt;/TD&gt;&lt;TD&gt;WIP&lt;/TD&gt;&lt;TD&gt;FirstWeekToMeetTarget&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;1,294,089.05&lt;/TD&gt;&lt;TD&gt;3,313.19&lt;/TD&gt;&lt;TD&gt;06/09/2024&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;This took 1 week of &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="604036" data-lia-user-login="SALES" class="lia-mention lia-mention-user"&gt;SALES&lt;/a&gt; to &amp;gt;= @Wip&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my current calulated table formula:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;Table = 
VAR TempTable1 =
    ADDCOLUMNS(
        SUMMARIZECOLUMNS(
            'WIP &amp;amp; Debt Data'[Date],
            'WIP &amp;amp; Debt Data'[Contract Code],
            "@Sales", SUM('WIP &amp;amp; Debt Data'[Sales]),
            "@WIP", SUM('WIP &amp;amp; Debt Data'[Closing WIP &amp;amp; Debt])
        ),
        "CumulativeSales",
        VAR CurrentDate = [Date]
        VAR CurrentContract = [Contract Code]
        RETURN
            CALCULATE(
                SUM('WIP &amp;amp; Debt Data'[Sales]),
                FILTER(
                    ALL('WIP &amp;amp; Debt Data'),
                    'WIP &amp;amp; Debt Data'[Date] &amp;lt;= CurrentDate &amp;amp;&amp;amp;
                    'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                )
            )
    )

VAR ResultTable =
    ADDCOLUMNS(
        TempTable1,
        "FirstWeekToMeetTarget", 
VAR TargetWIPDebt = [@WIP]
VAR CurrentDate = [Date]
VAR CurrentContract = [Contract Code]
RETURN
    IF (
        TargetWIPDebt &amp;gt; 0,
        CALCULATE(
            MINX(
                FILTER(
                    ALLSELECTED('WIP &amp;amp; Debt Data'),
                    'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                    &amp;amp;&amp;amp; 'WIP &amp;amp; Debt Data'[Date] &amp;lt;= CurrentDate
                ),
                'WIP &amp;amp; Debt Data'[Date]
            ),
            FILTER (
                ALLSELECTED ( 'WIP &amp;amp; Debt Data' ),
                'WIP &amp;amp; Debt Data'[Contract Code] = CurrentContract
                &amp;amp;&amp;amp; CALCULATE (
                    SUM ( 'WIP &amp;amp; Debt Data'[Sales] ),
                    FILTER (
                        ALLSELECTED ( 'WIP &amp;amp; Debt Data' ),
                        'WIP &amp;amp; Debt Data'[Date] &amp;lt;= EARLIER ( 'WIP &amp;amp; Debt Data'[Date] )
                    )
                ) &amp;gt;= TargetWIPDebt
            )
        )
    )
    )
RETURN
    FILTER(
        ResultTable,
        NOT ISBLANK([@WIP&amp;amp;Debt]) // Filter out rows with blank WIP &amp;amp; Debt
    )&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Tue, 03 Dec 2024 11:59:51 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4311549#M171256</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-12-03T11:59:51Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4312197#M171263</link>
      <description>&lt;P&gt;Sales never catch up.&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;</description>
      <pubDate>Tue, 03 Dec 2024 20:57:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4312197#M171263</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-12-03T20:57:53Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4315032#M171339</link>
      <description>&lt;P&gt;Hi Ibendlin,&lt;/P&gt;&lt;P&gt;Thank you for you comment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think you may have missunderstood what I'm trying to achieve. To summarise and simplify what I'm trying to achieve is,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have a table with 4 columns:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Date (each row represents one week)&lt;/LI&gt;&lt;LI&gt;Contract (let ignore this column for now)&lt;/LI&gt;&lt;LI&gt;Sales&lt;/LI&gt;&lt;LI&gt;WIP&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;The table is sorted by Date Asc&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;whenever the&amp;nbsp;WIP value is greater than 0 , starting from the same row, I want to sum the Sales column going back in time till the Sales value is greater or equal to the WIP in question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;This needs to occur everytime WIP value is greater than 0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want the output to display how many weeks Sales took to equal or be greater than WIP&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;when WIP = 7,147,211.20, it took Sales (Summing backwards in time)&amp;nbsp; 6 weeks to &amp;gt;= to WIP&lt;/P&gt;&lt;P&gt;when WIP = 449,940, it took Sales (summing backwards in time) 1 week to &amp;gt;= to WIP&lt;/P&gt;&lt;P&gt;and so on...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;img /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Dec 2024 09:38:08 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4315032#M171339</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-12-05T09:38:08Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4317695#M171432</link>
      <description>&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&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;FirstWeekToMeetTarget = 
var w = max('Table'[WIP])
return if(ISBLANK(w),BLANK(),
var wk = max('Table'[Date])
var a = CALCULATETABLE('Table',REMOVEFILTERS('Table'[SALES],'Table'[WIP]),'Table'[Date]&amp;lt;=wk)
var b = ADDCOLUMNS(a,"cm",var wkd = [Date] return sumx(filter(a,[Date]&amp;gt;=wkd),[SALES]))
var c = topn(1,filter(b,[cm]&amp;gt;=w),[Date],DESC)
return CONCATENATEX(c,[Date])
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Dec 2024 01:57:21 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4317695#M171432</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-12-07T01:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4319873#M171494</link>
      <description>&lt;P&gt;Thanks this worked to get the date of the FirstWeekToMeetTarget. However, instead of showing the date, I want to display how many weeks in INT it took to reach&amp;nbsp;FirstWeekToMeetTarget&amp;nbsp;&lt;/P&gt;&lt;P&gt;eg.&lt;/P&gt;&lt;P&gt;1. when WIP = 7,147,211.20, it took Sales (Summing backwards in time)&amp;nbsp; &lt;STRONG&gt;6&lt;/STRONG&gt; weeks to &amp;gt;= to WIP&amp;nbsp; Output = 6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. when WIP = 449,940, it took Sales (summing backwards in time) &lt;STRONG&gt;1&lt;/STRONG&gt; week to &amp;gt;= to WIP&lt;BR /&gt;Output = 1&lt;BR /&gt;&lt;BR /&gt;Thanks for the guidance so far!&lt;/P&gt;</description>
      <pubDate>Mon, 09 Dec 2024 14:43:49 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4319873#M171494</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-12-09T14:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4319988#M171500</link>
      <description>&lt;P&gt;You should be able to add that yourself. filter all week values to include the interval from the FirstWeekToMeetTarget to the current week, and return the count of rows.&amp;nbsp; Minus one if you don't want to count the current week.&lt;/P&gt;</description>
      <pubDate>Mon, 09 Dec 2024 15:51:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4319988#M171500</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-12-09T15:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Running Total based On Another Column</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4336133#M172176</link>
      <description>&lt;P&gt;Hi&amp;nbsp;Anonymous&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Have you solved your problem? If so, can you share your solution here and mark the correct answer as a standard answer to help other members find it faster?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Yilong Zhou&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Dec 2024 05:54:42 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Reverse-Running-Total-based-On-Another-Column/m-p/4336133#M172176</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-12-19T05:54:42Z</dc:date>
    </item>
  </channel>
</rss>

