<?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: calculate downtime in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3416220#M129256</link>
    <description>&lt;P&gt;Please provide sample data (with sensitive information removed) that covers your issue or question completely, in a usable format (not as a screenshot). Leave out anything not related to the issue.&lt;BR /&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216&lt;/A&gt; &lt;BR /&gt;Please show the expected outcome based on the sample data you provided. &lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 05 Sep 2023 17:33:38 GMT</pubDate>
    <dc:creator>lbendlin</dc:creator>
    <dc:date>2023-09-05T17:33:38Z</dc:date>
    <item>
      <title>calculate downtime</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3414431#M129158</link>
      <description>&lt;P&gt;I am looking for help.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I would like to calculate the downtime of a machine in a column of a table&lt;BR /&gt;for this I need the difference in minutes between the start time and stop time.&lt;BR /&gt;The only exception is that the machine produces on working days from Monday to Friday from 6am to 11pm.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so if the machine breaks down on Friday 10:50 PM and the fault is resolved on Monday 6:10 AM, 20 minutes of downtime must be calculated.&lt;/P&gt;&lt;P&gt;I have tried everything but I cannot find the right combination of formulas.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;does anyone know if this is possible?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;example:&lt;/P&gt;&lt;P&gt;Start: 9/1/2023 6:00:00 PM&lt;BR /&gt;Stop: 9/1/2023 8:13:00 PM&lt;BR /&gt;Result: 133&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Start: 9/1/2023 9:15:00 PM&lt;BR /&gt;Stop: 9/2/2023 8:13:00 PM&lt;BR /&gt;Result: 105&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Start: 9/3/2023 9:00:00 AM&lt;BR /&gt;Stop: 9/3/2023 8:30:00 PM&lt;BR /&gt;Result: 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Start: 9/1/2023 10:15:00 PM&lt;BR /&gt;Stop: 9/4/2023 8:00:00 AM&lt;BR /&gt;Result: 165&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 19:14:11 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3414431#M129158</guid>
      <dc:creator>tomvermaas</dc:creator>
      <dc:date>2023-09-05T19:14:11Z</dc:date>
    </item>
    <item>
      <title>Re: calculate downtime</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3416220#M129256</link>
      <description>&lt;P&gt;Please provide sample data (with sensitive information removed) that covers your issue or question completely, in a usable format (not as a screenshot). Leave out anything not related to the issue.&lt;BR /&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216&lt;/A&gt; &lt;BR /&gt;Please show the expected outcome based on the sample data you provided. &lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 17:33:38 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3416220#M129256</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2023-09-05T17:33:38Z</dc:date>
    </item>
    <item>
      <title>Re: calculate downtime</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3416840#M129305</link>
      <description>&lt;P&gt;Hi ,&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="612376" data-lia-user-login="tomvermaas" class="lia-mention lia-mention-user"&gt;tomvermaas&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;According to your description, you want to calculate the downtime for your machine and you want to wxclude the Saturday and Sunday . And the working time is from 6am to 11pm.&lt;/P&gt;
&lt;P&gt;Here are the steps you can refer to :&lt;BR /&gt;(1)This is my test data:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;(2)We can click "New Column" and enter this:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Column 2 = 
var _start = [Start]
var _stop = [Stop]
var _Start_Time= TIMEVALUE("6:00:00")
var _End_Time =  TIMEVALUE( "23:00:00")
var _one_Day_Start = DATEVALUE(_start)+_Start_Time
var _one_Day_End = DATEVALUE(_start)+_End_Time
VAR _DATE_TABLE = ADDCOLUMNS(  CALENDAR(_start,_stop) , "WeekDay" , WEEKDAY([Date],2),"Start_Date_Time",[Date]+_Start_Time , "End_Date_Time" , [Date]+_End_Time)
var _Date_count = COUNTROWS(_DATE_TABLE)
var _Week_day =  WEEKDAY(_start,2)
var _last_date = MAXX(_DATE_TABLE,[Date])
var _first_date = MINX(_DATE_TABLE,[Date])

var _DATE_TABLE_2 =  ADDCOLUMNS(_DATE_TABLE , "MIN" , 
    SWITCH(TRUE(), [WeekDay] in {6,7} , 0 ,
    [Date] = _last_date , IF( _stop&amp;lt;[Start_Date_Time] ,0 , IF( _stop&amp;gt;=[Start_Date_Time] &amp;amp;&amp;amp; _stop&amp;lt;= [End_Date_Time] ,INT(HOUR(_stop-[Start_Date_Time]))*60+ MINUTE(_stop-[Start_Date_Time]),
     INT( HOUR(_End_Time-_Start_Time))*60)),
     [Date]=_first_date, IF(_start&amp;lt;[Start_Date_Time],INT( HOUR(_End_Time-_Start_Time))*60, IF(_start&amp;gt;=[Start_Date_Time] &amp;amp;&amp;amp; _start&amp;lt;=[End_Date_Time],
     INT(HOUR([End_Date_Time]-_start))*60+MINUTE([End_Date_Time]-_start) ,0)),
      INT( HOUR(_End_Time-_Start_Time))*60
    )
 )
 var _One_Day_Min = 
 SWITCH(TRUE(),
  _stop&amp;lt;_one_Day_Start || _start&amp;gt;_one_Day_End,0,
  _start&amp;lt;_one_Day_Start &amp;amp;&amp;amp; _stop&amp;gt;= _one_Day_Start &amp;amp;&amp;amp; _stop&amp;lt;= _one_Day_End ,INT(HOUR(_stop-_one_Day_Start))*60+ MINUTE(_stop-_one_Day_Start),
  _start&amp;lt;_one_Day_Start &amp;amp;&amp;amp; _stop&amp;gt;_one_Day_End ,  INT( HOUR(_End_Time-_Start_Time))*60,
  _start&amp;gt;=_one_Day_Start &amp;amp;&amp;amp; _start&amp;lt;=_one_Day_End &amp;amp;&amp;amp;  _stop&amp;gt;= _one_Day_Start &amp;amp;&amp;amp; _stop&amp;lt;= _one_Day_End , INT(HOUR(_stop-_start))*60+ MINUTE(_stop-_start),
  _start&amp;gt;=_one_Day_Start &amp;amp;&amp;amp; _start&amp;lt;=_one_Day_End &amp;amp;&amp;amp; _stop&amp;gt;_one_Day_End , INT(HOUR(_one_Day_End-_start))*60+ MINUTE(_one_Day_End-_start),INT( HOUR(_End_Time-_Start_Time))*60)


return
IF(_Date_count =1 &amp;amp;&amp;amp;_Week_day in {6,7} , 0 , 
IF(_Date_count=1 ,  _One_Day_Min,
 SUMX(_DATE_TABLE_2,[MIN])   ))


&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then we can get the result as follows:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(3)If you want to create a measure , you can just modify the first two rows like this:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Measure = 
var _start = MAX('Table'[Start])
var _stop = MAX('Table'[Stop])
var _Start_Time= TIMEVALUE("6:00:00")
var _End_Time =  TIMEVALUE( "23:00:00")
var _one_Day_Start = DATEVALUE(_start)+_Start_Time
var _one_Day_End = DATEVALUE(_start)+_End_Time
VAR _DATE_TABLE = ADDCOLUMNS(  CALENDAR(_start,_stop) , "WeekDay" , WEEKDAY([Date],2),"Start_Date_Time",[Date]+_Start_Time , "End_Date_Time" , [Date]+_End_Time)
var _Date_count = COUNTROWS(_DATE_TABLE)
var _Week_day =  WEEKDAY(_start,2)
var _last_date = MAXX(_DATE_TABLE,[Date])
var _first_date = MINX(_DATE_TABLE,[Date])

var _DATE_TABLE_2 =  ADDCOLUMNS(_DATE_TABLE , "MIN" , 
    SWITCH(TRUE(), [WeekDay] in {6,7} , 0 ,
    [Date] = _last_date , IF( _stop&amp;lt;[Start_Date_Time] ,0 , IF( _stop&amp;gt;=[Start_Date_Time] &amp;amp;&amp;amp; _stop&amp;lt;= [End_Date_Time] ,INT(HOUR(_stop-[Start_Date_Time]))*60+ MINUTE(_stop-[Start_Date_Time]),
     INT( HOUR(_End_Time-_Start_Time))*60)),
     [Date]=_first_date, IF(_start&amp;lt;[Start_Date_Time],INT( HOUR(_End_Time-_Start_Time))*60, IF(_start&amp;gt;=[Start_Date_Time] &amp;amp;&amp;amp; _start&amp;lt;=[End_Date_Time],
     INT(HOUR([End_Date_Time]-_start))*60+MINUTE([End_Date_Time]-_start) ,0)),
      INT( HOUR(_End_Time-_Start_Time))*60
    )
 )
 var _One_Day_Min = 
 SWITCH(TRUE(),
  _stop&amp;lt;_one_Day_Start || _start&amp;gt;_one_Day_End,0,
  _start&amp;lt;_one_Day_Start &amp;amp;&amp;amp; _stop&amp;gt;= _one_Day_Start &amp;amp;&amp;amp; _stop&amp;lt;= _one_Day_End ,INT(HOUR(_stop-_one_Day_Start))*60+ MINUTE(_stop-_one_Day_Start),
  _start&amp;lt;_one_Day_Start &amp;amp;&amp;amp; _stop&amp;gt;_one_Day_End ,  INT( HOUR(_End_Time-_Start_Time))*60,
  _start&amp;gt;=_one_Day_Start &amp;amp;&amp;amp; _start&amp;lt;=_one_Day_End &amp;amp;&amp;amp;  _stop&amp;gt;= _one_Day_Start &amp;amp;&amp;amp; _stop&amp;lt;= _one_Day_End , INT(HOUR(_stop-_start))*60+ MINUTE(_stop-_start),
  _start&amp;gt;=_one_Day_Start &amp;amp;&amp;amp; _start&amp;lt;=_one_Day_End &amp;amp;&amp;amp; _stop&amp;gt;_one_Day_End , INT(HOUR(_one_Day_End-_start))*60+ MINUTE(_one_Day_End-_start),INT( HOUR(_End_Time-_Start_Time))*60)


return
IF(_Date_count =1 &amp;amp;&amp;amp;_Week_day in {6,7} , 0 , 
IF(_Date_count=1 ,  _One_Day_Min,
 SUMX(_DATE_TABLE_2,[MIN])   ))


&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then we can also get the same value:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your time and sharing, and thank you for your support and understanding of PowerBI!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Aniya Zhang&lt;/P&gt;
&lt;P&gt;If this post&amp;nbsp;&lt;STRONG&gt;helps&lt;/STRONG&gt;, then please consider&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;Accept&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; it as the solution&lt;/EM&gt;&amp;nbsp;to help the other members find it more quickly&lt;/P&gt;</description>
      <pubDate>Wed, 06 Sep 2023 03:43:22 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/calculate-downtime/m-p/3416840#M129305</guid>
      <dc:creator>v-yueyunzh-msft</dc:creator>
      <dc:date>2023-09-06T03:43:22Z</dc:date>
    </item>
  </channel>
</rss>

