<?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: Count previous rows based on date and restart counting if meets a criteria in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1139571#M17046</link>
    <description>Thank you @AIB, it worked. The only problem is that I can't run the calculation in my full database. I have to filter two or three months each time, otherwise the excel goes down.</description>
    <pubDate>Wed, 03 Jun 2020 17:08:34 GMT</pubDate>
    <dc:creator>CTozzi</dc:creator>
    <dc:date>2020-06-03T17:08:34Z</dc:date>
    <item>
      <title>Count previous rows based on date and restart counting if meets a criteria</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1101493#M16180</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am on my first steps learning DAX and this is my first post.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to count the number of flights before an aircraft reaches a base. The expected result is on the last column below, as you can see, the aircraft flew 3 flights before reaching a base, then 1 and then 4 flights.&lt;BR /&gt;I think the best way would be counting the previous rows, based on date and aircraft nbr. And restart every time it reaches a base.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Tail Nbr&lt;/TD&gt;&lt;TD&gt;Time of Departure&lt;/TD&gt;&lt;TD&gt;Departure Airport&lt;/TD&gt;&lt;TD&gt;Arrival Airport&lt;/TD&gt;&lt;TD&gt;Base/Not Base&lt;/TD&gt;&lt;TD&gt;# of flights to reach a Base&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/03 10:39:00&lt;/TD&gt;&lt;TD&gt;EEVC&lt;/TD&gt;&lt;TD&gt;EFEB&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/03 13:20:00&lt;/TD&gt;&lt;TD&gt;EFEB&lt;/TD&gt;&lt;TD&gt;ELEF&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/03 15:59:00&lt;/TD&gt;&lt;TD&gt;ELEF&lt;/TD&gt;&lt;TD&gt;EFMN&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/04 11:27:00&lt;/TD&gt;&lt;TD&gt;EFMN&lt;/TD&gt;&lt;TD&gt;EHAM&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/04 14:37:00&lt;/TD&gt;&lt;TD&gt;EHAM&lt;/TD&gt;&lt;TD&gt;EOWS&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/04 16:55:00&lt;/TD&gt;&lt;TD&gt;EOWS&lt;/TD&gt;&lt;TD&gt;EHHK&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/05 08:00:00&lt;/TD&gt;&lt;TD&gt;EHHK&lt;/TD&gt;&lt;TD&gt;EEML&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/05 12:35:00&lt;/TD&gt;&lt;TD&gt;EEML&lt;/TD&gt;&lt;TD&gt;EFBH&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CXDR1&lt;/TD&gt;&lt;TD&gt;2020/01/05 15:05:00&lt;/TD&gt;&lt;TD&gt;EFBH&lt;/TD&gt;&lt;TD&gt;EFMH&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/01 14:44:00&lt;/TD&gt;&lt;TD&gt;EHAM&lt;/TD&gt;&lt;TD&gt;EHHH&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/02 07:17:00&lt;/TD&gt;&lt;TD&gt;EHHH&lt;/TD&gt;&lt;TD&gt;EEEX&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/02 10:02:00&lt;/TD&gt;&lt;TD&gt;EEEX&lt;/TD&gt;&lt;TD&gt;EPCS&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/03 10:43:00&lt;/TD&gt;&lt;TD&gt;EPCS&lt;/TD&gt;&lt;TD&gt;LMMN&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/03 13:18:00&lt;/TD&gt;&lt;TD&gt;LMMN&lt;/TD&gt;&lt;TD&gt;EBBR&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/04 11:46:00&lt;/TD&gt;&lt;TD&gt;EBBR&lt;/TD&gt;&lt;TD&gt;ELTE&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/05 13:15:00&lt;/TD&gt;&lt;TD&gt;ELTE&lt;/TD&gt;&lt;TD&gt;EBBR&lt;/TD&gt;&lt;TD&gt;NotBase&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SSLFE&lt;/TD&gt;&lt;TD&gt;2020/01/05 17:40:00&lt;/TD&gt;&lt;TD&gt;EBBR&lt;/TD&gt;&lt;TD&gt;ESLL&lt;/TD&gt;&lt;TD&gt;Base&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;</description>
      <pubDate>Thu, 21 May 2020 17:35:45 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1101493#M16180</guid>
      <dc:creator>CTozzi</dc:creator>
      <dc:date>2020-05-21T17:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Count previous rows based on date and restart counting if meets a criteria</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1101620#M16181</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="232772" data-lia-user-login="CTozzi" class="lia-mention lia-mention-user"&gt;CTozzi&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe the value in the last row of your expected result should be 2 rather than 1&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;# of flights to reach a Base =
VAR previousbasetime_ =
    CALCULATE (
        MAX ( Table1[Time of Departure] );
        ALLEXCEPT ( Table1; Table1[Tail Nbr] );
        Table1[Base/Not Base] = "Base";
        Table1[Time of Departure] &amp;lt; EARLIER ( Table1[Time of Departure] )
    )
VAR previousNotbasetime_ =
    IF (
        ISBLANK ( previousbasetime_ );
        CALCULATE (
            MIN ( Table1[Time of Departure] );
            ALLEXCEPT ( Table1; Table1[Tail Nbr] );
            Table1[Base/Not Base] = "NotBase";
            Table1[Time of Departure] &amp;lt; EARLIER ( Table1[Time of Departure] )
        )
    )
RETURN
    IF (
        Table1[Base/Not Base] = "Base";
        IF (
            ISBLANK ( previousbasetime_ );
            CALCULATE (
                COUNT ( Table1[Time of Departure] );
                ALLEXCEPT ( Table1; Table1[Tail Nbr] );
                Table1[Time of Departure] &amp;lt;= EARLIER ( Table1[Time of Departure] );
                Table1[Time of Departure] &amp;gt;= previousNotbasetime_
            );
            CALCULATE (
                COUNT ( Table1[Time of Departure] );
                ALLEXCEPT ( Table1; Table1[Tail Nbr] );
                Table1[Time of Departure] &amp;lt;= EARLIER ( Table1[Time of Departure] );
                Table1[Time of Departure] &amp;gt; previousbasetime_
            )
        )
    )
&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Please mark the question solved when done and consider &lt;FONT color="#FF9900"&gt;giving kudos if posts are helpful.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;Contact me privately for support with any larger-scale BI needs&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Cheers&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 21 May 2020 19:01:39 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1101620#M16181</guid>
      <dc:creator>AlB</dc:creator>
      <dc:date>2020-05-21T19:01:39Z</dc:date>
    </item>
    <item>
      <title>Re: Count previous rows based on date and restart counting if meets a criteria</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1139571#M17046</link>
      <description>Thank you @AIB, it worked. The only problem is that I can't run the calculation in my full database. I have to filter two or three months each time, otherwise the excel goes down.</description>
      <pubDate>Wed, 03 Jun 2020 17:08:34 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1139571#M17046</guid>
      <dc:creator>CTozzi</dc:creator>
      <dc:date>2020-06-03T17:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Count previous rows based on date and restart counting if meets a criteria</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1139758#M17051</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="232772" data-lia-user-login="CTozzi" class="lia-mention lia-mention-user"&gt;CTozzi&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you share the database? You have to share the URL to the file hosted elsewhere: Dropbox, Onedrive... or just upload the file to a site like &lt;A href="http://www.tinyupload.com" target="_self"&gt;tinyupload.com&lt;/A&gt; (no sign-up required).&lt;/P&gt;
&lt;P&gt;See if this version works better in terms of speed/resources consumption:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;# of flights to reach a Base V2 =
VAR previousbasetime_ =
    MAXX (
        FILTER (
            ALL ( Table1[Time of Departure], Table1[Tail Nbr], Table1[Base/Not Base] ),
            Table1[Tail Nbr] = EARLIER ( Table1[Tail Nbr] )
                &amp;amp;&amp;amp; Table1[Base/Not Base] = "Base"
                &amp;amp;&amp;amp; Table1[Time of Departure] &amp;lt; EARLIER ( Table1[Time of Departure] )
        ),
        Table1[Time of Departure]
    )
VAR previousNotbasetime_ =
    IF (
        ISBLANK ( previousbasetime_ ),
        MINX (
            FILTER (
                ALL ( Table1[Time of Departure], Table1[Tail Nbr], Table1[Base/Not Base] ),
                Table1[Tail Nbr] = EARLIER ( Table1[Tail Nbr] )
                    &amp;amp;&amp;amp; Table1[Base/Not Base] = "NotBase"
                    &amp;amp;&amp;amp; Table1[Time of Departure] &amp;lt; EARLIER ( Table1[Time of Departure] )
            ),
            Table1[Time of Departure]
        )
    )
RETURN
    IF (
        Table1[Base/Not Base] = "Base",
        IF (
            ISBLANK ( previousbasetime_ ),
            COUNTROWS (
                FILTER (
                    ALL ( Table1[Time of Departure], Table1[Tail Nbr] ),
                    Table1[Tail Nbr] = EARLIER ( Table1[Tail Nbr] )
                        &amp;amp;&amp;amp; Table1[Time of Departure] &amp;gt;= previousNotbasetime_
                        &amp;amp;&amp;amp; Table1[Time of Departure] &amp;lt;= EARLIER ( Table1[Time of Departure] )
                )
            ),
            COUNTROWS (
                FILTER (
                    ALL ( Table1[Time of Departure], Table1[Tail Nbr] ),
                    Table1[Tail Nbr] = EARLIER ( Table1[Tail Nbr] )
                        &amp;amp;&amp;amp; Table1[Time of Departure] &amp;gt; previousbasetime_
                        &amp;amp;&amp;amp; Table1[Time of Departure] &amp;lt;= EARLIER ( Table1[Time of Departure] )
                )
            )
        )
    )
&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;&lt;STRONG&gt;Please mark the question solved when done and consider &lt;FONT color="#FF9900"&gt;giving kudos if posts are helpful.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;Contact me privately for support with any larger-scale BI needs, tutoring, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Cheers&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jun 2020 18:47:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Count-previous-rows-based-on-date-and-restart-counting-if-meets/m-p/1139758#M17051</guid>
      <dc:creator>AlB</dc:creator>
      <dc:date>2020-06-03T18:47:59Z</dc:date>
    </item>
  </channel>
</rss>

