<?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 production hours per week in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4356582#M172958</link>
    <description>&lt;P&gt;To build the forecast report for planned production hours per week, based on your data structure, you can approach this by calculating the number of hours in each week using the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt; and &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt;. Here's how you can approach the problem:&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;1. Define Week Ranges&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;First, you need to define the weeks you're evaluating (e.g., starting from Monday 5:00 AM). You can create a &lt;STRONG&gt;Week Column&lt;/STRONG&gt; or &lt;STRONG&gt;Week Number&lt;/STRONG&gt; from the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt; to group the data into weeks.&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;2. Calculate Production Hours for Each Week&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;To calculate the production hours for each week, you can break down the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; based on the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each row (production order), determine how much of the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; falls into the week in question.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;3. Creating a Measure for Weekly Hours Calculation&lt;/STRONG&gt;&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Define the start of the week (Monday 5:00 AM)&lt;/STRONG&gt;: Create a measure that gets the &lt;STRONG&gt;week number&lt;/STRONG&gt; based on &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Week Number = WEEKNUM('Table'[Dynamic Start DateTime],2)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will assign each &lt;STRONG&gt;Dynamic Start DateTime&lt;/STRONG&gt; to a specific week.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Calculate the weekly hours&lt;/STRONG&gt;: You'll need a measure that distributes the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; into each week based on the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;. For this, create a &lt;STRONG&gt;measure&lt;/STRONG&gt; to calculate how many hours fall into a given week:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Weekly Prod. Time = 
VAR WeekStart = DATEADD('Table'[Dynamic Start DateTime], - WEEKDAY('Table'[Dynamic Start DateTime],2) + 1, DAY)
VAR WeekEnd = DATEADD(WeekStart, 5, DAY)
VAR TotalHours = 'Table'[Theo. Prod. Time [h]]]
VAR HoursInCurrentWeek = 
    IF('Table'[Dynamic Start DateTime] &amp;gt;= WeekStart &amp;amp;&amp;amp; 'Table'[Dynamic Start DateTime] &amp;lt; WeekEnd,
        TotalHours, 0)
RETURN HoursInCurrentWeek&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Distribute the time if the production order spans multiple weeks&lt;/STRONG&gt;: If the production order spans over multiple weeks, break down the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; proportionally to the weeks involved. For example, if the production order starts on Wednesday in Week 9 and ends on Tuesday in Week 10, the hours will be split across both weeks.&lt;/P&gt;&lt;P&gt;For simplicity, you can calculate the number of hours in each week like this:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Hours Per Week = 
VAR StartOfWeek = DATEADD('Table'[Dynamic Start DateTime], - WEEKDAY('Table'[Dynamic Start DateTime], 2) + 1, DAY)
VAR EndOfWeek = DATEADD(StartOfWeek, 5, DAY)
VAR TotalDuration = 'Table'[Theo. Prod. Time [h]]]
VAR DurationInCurrentWeek = 
    IF('Table'[Dynamic Start DateTime] &amp;gt;= StartOfWeek &amp;amp;&amp;amp; 'Table'[Dynamic Start DateTime] &amp;lt; EndOfWeek, 
        TotalDuration, 0)
RETURN DurationInCurrentWeek&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;4. Grouping by Week and Shift&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Now that you have the calculated weekly hours, you can create a &lt;STRONG&gt;summary table&lt;/STRONG&gt; or use a &lt;STRONG&gt;Pivot Table&lt;/STRONG&gt; visual in Power BI to aggregate the results by week and evaluate how many people are required per shift based on the required &lt;STRONG&gt;FTE&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Planned FTE per Week&lt;/STRONG&gt;: Based on the total hours in each week and the &lt;STRONG&gt;required FTE&lt;/STRONG&gt;, calculate how many people are required per shift.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Shift Hours&lt;/STRONG&gt;: You can create another measure to calculate the number of people needed per shift.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Ensure your report groups by the &lt;STRONG&gt;week number&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Use the calculated measure for weekly production hours.&lt;/LI&gt;&lt;LI&gt;Based on the total hours for each week, divide by the number of hours per shift to evaluate the &lt;STRONG&gt;required FTE&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Did I answer your question? Mark my post as a solution, this will help others!&lt;/STRONG&gt;&lt;BR /&gt;If my response(s) assisted you in any way, don't forget to drop me a "&lt;STRONG&gt;Kudos&lt;/STRONG&gt;" &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;BR /&gt;Poojara&lt;BR /&gt;Data Analyst | MSBI Developer | Power BI Consultant&lt;BR /&gt;&lt;STRONG&gt;Consider Subscribing my YouTube for Beginners/Advance Concepts:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS" target="_self"&gt;https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 09 Jan 2025 07:12:52 GMT</pubDate>
    <dc:creator>Poojara_D12</dc:creator>
    <dc:date>2025-01-09T07:12:52Z</dc:date>
    <item>
      <title>Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4355259#M172911</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I got the request to build a forecast report to show per week how many production hours is planned. Based on the required FTE, we can then evaluatie how many people are required per shift.&lt;/P&gt;&lt;P&gt;Workweek is from Monday 5:00 am to Friday 5:00 am (=120 hours).&lt;/P&gt;&lt;P&gt;In my table NAV_Prod Order Line I have on rowbased the information per production order where I have &lt;STRONG&gt;calculated columns&lt;/STRONG&gt; for [Dynamic Start DateTime] and [Dynamic End DateTime].&lt;/P&gt;&lt;P&gt;I have also a measure&amp;nbsp;&lt;SPAN&gt;[Theo. Prod. Time [h]]] which calculate the amount of theoretical hours required to complete the production order.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;Dynamic Start DateTime: 27/02/2025 13:30:00&lt;/P&gt;&lt;P&gt;Dynamic End DateTime: 7/03/2025 9:23:00&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[Theo. Prod. Time [h]]] = 138,89&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;In my visual, i should get a value of 39,5h in week 9 and 99,39h in week 10.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;I would not use the [Dynamic End DateTime] but base it on [Dynamic Start DateTime] and the&amp;nbsp;&lt;SPAN&gt;[Theo. Prod. Time [h]]].&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I'm unable to make this work. Can someone help me here?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Thank you&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Bart&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 08 Jan 2025 13:03:28 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4355259#M172911</guid>
      <dc:creator>Bart1133</dc:creator>
      <dc:date>2025-01-08T13:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4355606#M172926</link>
      <description>&lt;P&gt;How granular does it have to be?&amp;nbsp; Is minute level sufficient? Does your data model include a holidays table?&amp;nbsp; Are your users all in the same time zone?&lt;/P&gt;</description>
      <pubDate>Wed, 08 Jan 2025 16:47:32 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4355606#M172926</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2025-01-08T16:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4356506#M172957</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;On minute level is indeed sufficient.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data doesn't include a holidays table and is at this stage not required.&lt;/P&gt;&lt;P&gt;All users are in the same time zone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See screenshot of how far I got. As you can see, I managed to calculate the "remaining hours". But now I need to get this in the next week. Week 10 in this example.&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;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_RemainingHours (OK) =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;WeekStartDateTime&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;CALCULATETABLE&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;VALUES&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'NAV_Prod Order Line'&lt;/SPAN&gt;&lt;SPAN&gt;[Dynamic Start DateTime]&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;'NAV_Prod Order Line'&lt;/SPAN&gt;&lt;SPAN&gt;[Inventory Posting Group]&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"EINDPROD."&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;WeekEndDateTime&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;DATE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;YEAR&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&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; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;MONTH&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&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; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;DAY&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt;)) + &lt;/SPAN&gt;&lt;SPAN&gt;TIME&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;) + (&lt;/SPAN&gt;&lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt; - &lt;/SPAN&gt;&lt;SPAN&gt;WEEKDAY&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;HoursThisWeek&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;IF&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;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;WeekEndDateTime&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;MAX&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;WeekEndDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;MINUTE&lt;/SPAN&gt;&lt;SPAN&gt;) / &lt;/SPAN&gt;&lt;SPAN&gt;60&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;0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;CurrentWeek&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;WEEKNUM&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;RemainingHours&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;[Theo. Prod. Time [h]]]&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;IF&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;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;WeekEndDateTime&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;MAX&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;WeekStartDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;WeekEndDateTime&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;MINUTE&lt;/SPAN&gt;&lt;SPAN&gt;) / &lt;/SPAN&gt;&lt;SPAN&gt;60&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;0&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;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;Result&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;IF&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;CurrentWeek&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;SELECTEDVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Date'&lt;/SPAN&gt;&lt;SPAN&gt;[Week]&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;RemainingHours&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;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;() &lt;/SPAN&gt;&lt;SPAN&gt;-- Display nothing for non-relevant weeks&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;RETURN&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;Result&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 09 Jan 2025 07:00:29 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4356506#M172957</guid>
      <dc:creator>Bart1133</dc:creator>
      <dc:date>2025-01-09T07:00:29Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4356582#M172958</link>
      <description>&lt;P&gt;To build the forecast report for planned production hours per week, based on your data structure, you can approach this by calculating the number of hours in each week using the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt; and &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt;. Here's how you can approach the problem:&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;1. Define Week Ranges&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;First, you need to define the weeks you're evaluating (e.g., starting from Monday 5:00 AM). You can create a &lt;STRONG&gt;Week Column&lt;/STRONG&gt; or &lt;STRONG&gt;Week Number&lt;/STRONG&gt; from the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt; to group the data into weeks.&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;2. Calculate Production Hours for Each Week&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;To calculate the production hours for each week, you can break down the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; based on the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each row (production order), determine how much of the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; falls into the week in question.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;3. Creating a Measure for Weekly Hours Calculation&lt;/STRONG&gt;&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Define the start of the week (Monday 5:00 AM)&lt;/STRONG&gt;: Create a measure that gets the &lt;STRONG&gt;week number&lt;/STRONG&gt; based on &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Week Number = WEEKNUM('Table'[Dynamic Start DateTime],2)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will assign each &lt;STRONG&gt;Dynamic Start DateTime&lt;/STRONG&gt; to a specific week.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Calculate the weekly hours&lt;/STRONG&gt;: You'll need a measure that distributes the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; into each week based on the &lt;STRONG&gt;[Dynamic Start DateTime]&lt;/STRONG&gt;. For this, create a &lt;STRONG&gt;measure&lt;/STRONG&gt; to calculate how many hours fall into a given week:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Weekly Prod. Time = 
VAR WeekStart = DATEADD('Table'[Dynamic Start DateTime], - WEEKDAY('Table'[Dynamic Start DateTime],2) + 1, DAY)
VAR WeekEnd = DATEADD(WeekStart, 5, DAY)
VAR TotalHours = 'Table'[Theo. Prod. Time [h]]]
VAR HoursInCurrentWeek = 
    IF('Table'[Dynamic Start DateTime] &amp;gt;= WeekStart &amp;amp;&amp;amp; 'Table'[Dynamic Start DateTime] &amp;lt; WeekEnd,
        TotalHours, 0)
RETURN HoursInCurrentWeek&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Distribute the time if the production order spans multiple weeks&lt;/STRONG&gt;: If the production order spans over multiple weeks, break down the &lt;STRONG&gt;[Theo. Prod. Time [h]]]&lt;/STRONG&gt; proportionally to the weeks involved. For example, if the production order starts on Wednesday in Week 9 and ends on Tuesday in Week 10, the hours will be split across both weeks.&lt;/P&gt;&lt;P&gt;For simplicity, you can calculate the number of hours in each week like this:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Hours Per Week = 
VAR StartOfWeek = DATEADD('Table'[Dynamic Start DateTime], - WEEKDAY('Table'[Dynamic Start DateTime], 2) + 1, DAY)
VAR EndOfWeek = DATEADD(StartOfWeek, 5, DAY)
VAR TotalDuration = 'Table'[Theo. Prod. Time [h]]]
VAR DurationInCurrentWeek = 
    IF('Table'[Dynamic Start DateTime] &amp;gt;= StartOfWeek &amp;amp;&amp;amp; 'Table'[Dynamic Start DateTime] &amp;lt; EndOfWeek, 
        TotalDuration, 0)
RETURN DurationInCurrentWeek&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;4. Grouping by Week and Shift&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Now that you have the calculated weekly hours, you can create a &lt;STRONG&gt;summary table&lt;/STRONG&gt; or use a &lt;STRONG&gt;Pivot Table&lt;/STRONG&gt; visual in Power BI to aggregate the results by week and evaluate how many people are required per shift based on the required &lt;STRONG&gt;FTE&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Planned FTE per Week&lt;/STRONG&gt;: Based on the total hours in each week and the &lt;STRONG&gt;required FTE&lt;/STRONG&gt;, calculate how many people are required per shift.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Shift Hours&lt;/STRONG&gt;: You can create another measure to calculate the number of people needed per shift.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Ensure your report groups by the &lt;STRONG&gt;week number&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Use the calculated measure for weekly production hours.&lt;/LI&gt;&lt;LI&gt;Based on the total hours for each week, divide by the number of hours per shift to evaluate the &lt;STRONG&gt;required FTE&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Did I answer your question? Mark my post as a solution, this will help others!&lt;/STRONG&gt;&lt;BR /&gt;If my response(s) assisted you in any way, don't forget to drop me a "&lt;STRONG&gt;Kudos&lt;/STRONG&gt;" &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;BR /&gt;Poojara&lt;BR /&gt;Data Analyst | MSBI Developer | Power BI Consultant&lt;BR /&gt;&lt;STRONG&gt;Consider Subscribing my YouTube for Beginners/Advance Concepts:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS" target="_self"&gt;https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Jan 2025 07:12:52 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4356582#M172958</guid>
      <dc:creator>Poojara_D12</dc:creator>
      <dc:date>2025-01-09T07:12:52Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4358294#M173019</link>
      <description>&lt;P&gt;It doesn't give the desired solution.&lt;BR /&gt;as mentioned before, I can calculate the remaining hours. Now it only needs to be shown in the colomn of week 10.&lt;/P&gt;&lt;P&gt;since the relationship with the date calender is with the Dynamic Start Date. It always shows it in the week 9 kolom.&amp;nbsp;&lt;BR /&gt;I've a inactive relationship with the Dynmic End Date but I'm not confident if it is smart to activate this relationship in the measure.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;_NextWeekRemainingHours = 
VAR WeekStartDateTime = 
    CALCULATETABLE(
        VALUES('NAV_Prod Order Line'[Dynamic Start DateTime]),
        'NAV_Prod Order Line'[Inventory Posting Group] = "EINDPROD."
    )

VAR WeekEndDateTime = 
    DATE(YEAR(WeekStartDateTime), 
         MONTH(WeekStartDateTime), 
         DAY(WeekStartDateTime)) + TIME(5, 0, 0) + (6 - WEEKDAY(WeekStartDateTime, 2))

VAR CurrentWeek = WEEKNUM(WeekStartDateTime, 2) -- Get the current week
VAR NextWeek = IF(
    SELECTEDVALUE('Date'[Week]) = CurrentWeek,
    CurrentWeek + 1,
    BLANK()
) -- Only calculate NextWeek for the next valid week, return BLANK for all other weeks

VAR RemainingHours = -- Berekend hoeveel werkuren er nog nodig zijn.
    [Theo. Prod. Time [h]]] - 
    IF(
        WeekStartDateTime &amp;lt;= WeekEndDateTime,
        MAX(0, DATEDIFF(WeekStartDateTime, WeekEndDateTime, MINUTE) / 60),
        0
    )
VAR ResultRemainingHours = 
    IF(
        CurrentWeek = SELECTEDVALUE('Date'[Week]),
        RemainingHours,
        BLANK() -- Display nothing for non-relevant weeks
    )
VAR Result = 
    IF(
        NextWeek = SELECTEDVALUE('Date'[Week])+1,
        ResultRemainingHours,
        BLANK() -- Blank for weeks other than the next one
    )
RETURN
    Result&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 10 Jan 2025 06:42:11 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4358294#M173019</guid>
      <dc:creator>Bart1133</dc:creator>
      <dc:date>2025-01-10T06:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4359015#M173052</link>
      <description>&lt;P&gt;I use INTERSECT in these scenarios, between your datetime ranges and a reference table that has minute level granularity.&amp;nbsp; You can get that by multiplying both sides with 1440 and then discarding the fractions.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jan 2025 15:02:06 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4359015#M173052</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2025-01-10T15:02:06Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate production hours per week</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4362880#M173211</link>
      <description>&lt;P&gt;I've solved it by putting the calculated hours in calculated columns, aswell as the week numbers. Then created a measure to show the correct data. Maybe not the most efficient method but it works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jan 2025 08:23:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculate-production-hours-per-week/m-p/4362880#M173211</guid>
      <dc:creator>Bart1133</dc:creator>
      <dc:date>2025-01-14T08:23:04Z</dc:date>
    </item>
  </channel>
</rss>

