Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Exclude weekends from Date Measure

Hi,

 

I use the following measure to calculate the dates between two different date values:

days = DATEDIFF('SALES'[OrderDate], 'SALES'[OrderCompleteDate],DAY), but I want to exclude the weekends (Saturday & Sunday) in this measure, how can I achieve this? 
  • Hi, Anonymous 

     

    I create a simple sample, you can refer to:

    First you need to create a calendar table and a isweekend column.

    Then you can create a measure to calculate datediff using the calendar table data.

    Like this:

    Table = CALENDARAUTO()
    IsWeekend = if(WEEKDAY([Date])=1||WEEKDAY([Date])=7,1)
    DaysDiff =
    COUNTROWS (
        FILTER (
            ALL ( 'Table' ),
            [Date] >= SELECTEDVALUE ( Table1[OrderDate] )
                && [Date] <= SELECTEDVALUE ( Table1[OrderCompleteDate] )
                && [IsWeekend] <> 1
        )
    )
    

    Pbix file is below.

     

    Did I answer your question ? Please mark my reply as solution. Thank you very much.
    If not, please feel free to ask me.

     

    Best Regards,
    Community Support Team _ Janey

5 Replies

  • v-janeyg-msft's avatar
    v-janeyg-msft
    Community Support

    Hi, Anonymous 

     

    I create a simple sample, you can refer to:

    First you need to create a calendar table and a isweekend column.

    Then you can create a measure to calculate datediff using the calendar table data.

    Like this:

    Table = CALENDARAUTO()
    IsWeekend = if(WEEKDAY([Date])=1||WEEKDAY([Date])=7,1)
    DaysDiff =
    COUNTROWS (
        FILTER (
            ALL ( 'Table' ),
            [Date] >= SELECTEDVALUE ( Table1[OrderDate] )
                && [Date] <= SELECTEDVALUE ( Table1[OrderCompleteDate] )
                && [IsWeekend] <> 1
        )
    )
    

    Pbix file is below.

     

    Did I answer your question ? Please mark my reply as solution. Thank you very much.
    If not, please feel free to ask me.

     

    Best Regards,
    Community Support Team _ Janey

    • Anonymous's avatar
      Anonymous
      Not applicable

      v-janeyg-msft Thanks! And how can I calculate the average days? For example if I add an order number to it and I want to calculate for all the order numbers the average days it takes to complete an order. Thanks

      • v-janeyg-msft's avatar
        v-janeyg-msft
        Community Support

        Anonymous 

         

        Add a measure.

         

        Measure = 
        AVERAGEX( ADDCOLUMNS('Table1',"DaysDiff",
        COUNTROWS (
            FILTER (
                ALL ( 'Table' ),
                [Date] >= EARLIER( Table1[OrderDate] )
                    && [Date] <= EARLIER ( Table1[OrderCompleteDate] )
                    && [IsWeekend] <> 1
            )
        )),[DaysDiff])
        

         

         

        Best Regards,
        Community Support Team _ Janey

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi v-janeyg-msft ,

       

      I got the Daysdiff correctly but I am having duplicate values of Work Order as WO is coming from different table. How to get unique value of WO. 

       

       

  • Anonymous there are many posts on this Date Difference excluding weekends - Microsoft Power BI Community

     

    Calculating Workdays Between Two Dates In Power BI - YouTube

     

    Follow us on LinkedIn

     

    Learn about conditional formatting at Microsoft Reactor

    My latest blog post The Power of Using Calculation Groups with Inactive Relationships (Part 1) (perytus.com) I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos to whoever helped to solve your problem. It is a token of appreciation!

     

    Visit us at https://perytus.com, your one-stop-shop for Power BI-related projects/training/consultancy.