<?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 Hour Breakdown in Quick Measures Gallery</title>
    <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/625085#M306</link>
    <description>&lt;P&gt;This Quick Measure breaks a start and end time down into the number of minutes for each hour of the day. There are actually two measures included in order to demonstrate how to use the techniques in &lt;A href="https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907" target="_self"&gt;Measure Totals, The Final Word&lt;/A&gt; to display the correct totals and subtotals within a matrix.&lt;/P&gt;
&lt;PRE&gt;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startHour = HOUR(MIN('Data'[Start]))
VAR __endHour = HOUR(MAX('Data'[End]))
VAR __table = GENERATESERIES(__startHour,__endHour,1)
VAR __table1 = ADDCOLUMNS(__table,"__minutes",
    SWITCH(TRUE(),
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __startHour,60,
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX('Data'[End])),
        60-MINUTE(MAX(Data[Start]))
    )
)
VAR __table2 = FILTER(__table1,[__minutes]&amp;gt;0)
RETURN
SUMX(FILTER(__table2,[Value] = __currentHour),[__minutes])&lt;/PRE&gt;
&lt;PRE&gt;Hour Breakdown Total = 
VAR __table = SUMMARIZE('Data',[Date],[ID])
VAR __table1 = GENERATE(__table,Hours)
VAR __table2 = ADDCOLUMNS(__table1,"__duration",[Hour Breakdown])
RETURN
IF(HASONEVALUE(Hours[Hour]) &amp;amp;&amp;amp; HASONEVALUE(Data[ID]),[Hour Breakdown],SUMX(__table2,[__duration]))&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="reportid hidden"&gt;eyJrIjoiZjYxYjUzYTEtMTM5ZS00NjAwLWEyZjgtNmM4MmFjMzEyODBhIiwidCI6Ijg3NDlmOWI5LWYzMmQtNDdhMS1hMjI0LTM2OTQxOGFlMmY1MSJ9&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Apr 2024 17:32:34 GMT</pubDate>
    <dc:creator>Greg_Deckler</dc:creator>
    <dc:date>2024-04-09T17:32:34Z</dc:date>
    <item>
      <title>Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/625085#M306</link>
      <description>&lt;P&gt;This Quick Measure breaks a start and end time down into the number of minutes for each hour of the day. There are actually two measures included in order to demonstrate how to use the techniques in &lt;A href="https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907" target="_self"&gt;Measure Totals, The Final Word&lt;/A&gt; to display the correct totals and subtotals within a matrix.&lt;/P&gt;
&lt;PRE&gt;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startHour = HOUR(MIN('Data'[Start]))
VAR __endHour = HOUR(MAX('Data'[End]))
VAR __table = GENERATESERIES(__startHour,__endHour,1)
VAR __table1 = ADDCOLUMNS(__table,"__minutes",
    SWITCH(TRUE(),
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __startHour,60,
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX('Data'[End])),
        60-MINUTE(MAX(Data[Start]))
    )
)
VAR __table2 = FILTER(__table1,[__minutes]&amp;gt;0)
RETURN
SUMX(FILTER(__table2,[Value] = __currentHour),[__minutes])&lt;/PRE&gt;
&lt;PRE&gt;Hour Breakdown Total = 
VAR __table = SUMMARIZE('Data',[Date],[ID])
VAR __table1 = GENERATE(__table,Hours)
VAR __table2 = ADDCOLUMNS(__table1,"__duration",[Hour Breakdown])
RETURN
IF(HASONEVALUE(Hours[Hour]) &amp;amp;&amp;amp; HASONEVALUE(Data[ID]),[Hour Breakdown],SUMX(__table2,[__duration]))&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="reportid hidden"&gt;eyJrIjoiZjYxYjUzYTEtMTM5ZS00NjAwLWEyZjgtNmM4MmFjMzEyODBhIiwidCI6Ijg3NDlmOWI5LWYzMmQtNDdhMS1hMjI0LTM2OTQxOGFlMmY1MSJ9&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2024 17:32:34 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/625085#M306</guid>
      <dc:creator>Greg_Deckler</dc:creator>
      <dc:date>2024-04-09T17:32:34Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/2244900#M797</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="313" data-lia-user-login="Greg_Deckler" class="lia-mention lia-mention-user"&gt;Greg_Deckler&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;I am learning powerBI. I followed the above solution but somehow it's not working for my data. I wanted to show employee count by the hour and date. Here is what the sample data look like:&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please help me?&amp;nbsp;Any help on this is appreciated&amp;nbsp;‌‌&lt;BR /&gt;&lt;BR /&gt;Thanks&amp;nbsp;&lt;BR /&gt;Richa&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Dec 2021 15:11:34 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/2244900#M797</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-12-17T15:11:34Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/2247788#M798</link>
      <description>&lt;P&gt;Anonymous&lt;/a&gt;&amp;nbsp;Sure, if you could post that as text that would assist greatly.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Dec 2021 14:14:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/2247788#M798</guid>
      <dc:creator>Greg_Deckler</dc:creator>
      <dc:date>2021-12-20T14:14:04Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824336#M1071</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="313" data-lia-user-login="Greg_Deckler" class="lia-mention lia-mention-user"&gt;Greg_Deckler&lt;/a&gt;,&lt;BR /&gt;Wouldn't this be 36 instead of 24?&amp;nbsp; If they started at 5:24 PM, they had 36 minutes in the 5 PM hour correct?&amp;nbsp; Making the total 96 for 140 &amp;amp; 141 for the 5PM hour.&amp;nbsp;&lt;BR /&gt;The 9:14 PM end time makes sense as they only had 14 minutes into the 9 PM hour.&lt;BR /&gt;&lt;img /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2024 17:15:47 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824336#M1071</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-04-09T17:15:47Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824362#M1072</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="279455" data-lia-user-login="dcrow5378" class="lia-mention lia-mention-user"&gt;dcrow5378&lt;/a&gt;&amp;nbsp;Good catch. Easily fixed:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startHour = HOUR(MIN('Data'[Start]))
VAR __endHour = HOUR(MAX('Data'[End]))
VAR __table = GENERATESERIES(__startHour,__endHour,1)
VAR __table1 = ADDCOLUMNS(__table,"__minutes",
    SWITCH(TRUE(),
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __startHour,60,
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] = __endHour, MINUTE(MAX('Data'[End])),
        60 - MINUTE(MAX(Data[Start]))
    )
)
VAR __table2 = FILTER(__table1,[__minutes]&amp;gt;0)
RETURN
SUMX(FILTER(__table2,[Value] = __currentHour),[__minutes])&lt;/LI-CODE&gt;
&lt;P&gt;Will update.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2024 17:28:40 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824362#M1072</guid>
      <dc:creator>Greg_Deckler</dc:creator>
      <dc:date>2024-04-09T17:28:40Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824368#M1073</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="313" data-lia-user-login="Greg_Deckler" class="lia-mention lia-mention-user"&gt;Greg_Deckler&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Thanks!&amp;nbsp; This is super helpful by the way!&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2024 17:29:45 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3824368#M1073</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-04-09T17:29:45Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3889641#M1082</link>
      <description>&lt;P&gt;Hey Greg,&lt;/P&gt;&lt;P&gt;Thanks Again for this.&amp;nbsp; One more thing I was hoping you could help out with.&amp;nbsp;&lt;BR /&gt;I am getting a full hour for an end time that is only 4 minutes into the end hour (or 0.07 of an hour)&lt;BR /&gt;Here are the punch times:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;Here is the output I am receiving:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;Any idea why I am getting a full hour for the 2:00 PM hour?&lt;/P&gt;&lt;P&gt;I am hoping to get the following for that row:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;FYI, the formula for the Hour Total Column is just&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Hour Total =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[Hour Breakdown Total]&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;60&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 May 2024 16:02:09 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3889641#M1082</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-05-03T16:02:09Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3889964#M1083</link>
      <description>&lt;P&gt;I think I figured it out.&amp;nbsp; Just need a third switch?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startHour = HOUR(MIN(vTimecardTransaction[starttime]))
VAR __endHour = HOUR(MAX(vTimecardTransaction[endtime]))
VAR __table = GENERATESERIES(__startHour,__endHour,1)
VAR __table1 = ADDCOLUMNS(__table,"__minutes",
    SWITCH(TRUE(),
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __startHour,60,
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX(vTimecardTransaction[endtime])), 
        __startHour = __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX(vTimecardTransaction[endtime])), 
        60 - MINUTE(MAX(vTimecardTransaction[starttime]))
    )
)
VAR __table2 = FILTER(__table1,[__minutes]&amp;gt;0)
RETURN
SUMX(FILTER(__table2,[Value] = __currentHour),[__minutes])&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 03 May 2024 19:22:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3889964#M1083</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-05-03T19:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3937231#M1094</link>
      <description>&lt;P&gt;Hey Greg,&lt;/P&gt;&lt;P&gt;One more question...hopefully.&amp;nbsp;&lt;BR /&gt;I am not able to figure out what to do when the End Hour is less than the Start Hour.&amp;nbsp; The entry below is not populating any time.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;For Instance:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;StartDateTime&lt;/TD&gt;&lt;TD&gt;EndDateTime&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4/29/2024 10:00:00 PM&lt;/TD&gt;&lt;TD&gt;4/30/2024 12:00:00 AM&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&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;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startHour = HOUR(MIN(vTimecardTransaction[starttime]))
VAR __endHour = HOUR(MAX(vTimecardTransaction[endtime]))
VAR __table = GENERATESERIES(__startHour,__endHour,1)
VAR __table1 = ADDCOLUMNS(__table,"__minutes",
    SWITCH(TRUE(),
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __endHour &amp;amp;&amp;amp; [Value] &amp;lt;&amp;gt; __startHour,60,
        __startHour &amp;lt; __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX(vTimecardTransaction[endtime])), 
        __startHour = __endHour &amp;amp;&amp;amp; [Value] = __endHour,MINUTE(MAX(vTimecardTransaction[endtime])),
        60 - MINUTE(MAX(vTimecardTransaction[starttime]))
    )
)
VAR __table2 = FILTER(__table1,[__minutes]&amp;gt;0)
RETURN
SUMX(FILTER(__table2,[Value] = __currentHour),[__minutes])&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;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 May 2024 22:18:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3937231#M1094</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-05-21T22:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Hour Breakdown</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3940660#M1095</link>
      <description>&lt;P&gt;Solved and working great!&lt;/P&gt;&lt;LI-CODE lang="python"&gt;Hour Breakdown = 
VAR __currentHour = HOUR(MAX('Hours'[Hour]))
VAR __startDatetime = MIN(vTimecardTransaction[starttime])
VAR __endDatetime = MAX(vTimecardTransaction[endtime])
VAR __startHour = HOUR(__startDatetime)
VAR __endHour = HOUR(__endDatetime)

-- Handle cases where end time crosses over midnight
VAR __isCrossingMidnight = IF(__startDatetime &amp;gt; __endDatetime, 1, 0)
VAR __adjustedEndHour = __endHour + 24 * __isCrossingMidnight

-- Generate a series of hours, considering crossing over midnight
VAR __table = GENERATESERIES(__startHour, __adjustedEndHour, 1)

VAR __table1 = ADDCOLUMNS(
    __table, 
    "__minutes",
    SWITCH(
        TRUE(),
        [Value] = __startHour &amp;amp;&amp;amp; [Value] = __endHour + 24 * __isCrossingMidnight, 
            DATEDIFF(__startDatetime, __endDatetime, MINUTE),
        [Value] = __startHour,
            60 - MINUTE(__startDatetime),
        [Value] = __endHour + 24 * __isCrossingMidnight,
            MINUTE(__endDatetime),
        [Value] &amp;gt; __startHour &amp;amp;&amp;amp; [Value] &amp;lt; __endHour + 24 * __isCrossingMidnight,
            60,
        0
    )
)

VAR __table2 = FILTER(__table1, [__minutes] &amp;gt; 0)
RETURN
SUMX(FILTER(__table2, [Value] = __currentHour || [Value] = __currentHour + 24 * __isCrossingMidnight), [__minutes])&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 May 2024 18:44:47 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Hour-Breakdown/m-p/3940660#M1095</guid>
      <dc:creator>dcrow5378</dc:creator>
      <dc:date>2024-05-22T18:44:47Z</dc:date>
    </item>
  </channel>
</rss>

