<?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: split event row into multiple rows by hour in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2948390#M97626</link>
    <description>&lt;P&gt;This is great, thank you.&amp;nbsp; Simpler than I thought, I was over complicating it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 05 Dec 2022 12:40:35 GMT</pubDate>
    <dc:creator>xbillx81</dc:creator>
    <dc:date>2022-12-05T12:40:35Z</dc:date>
    <item>
      <title>split event row into multiple rows by hour</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2946480#M97517</link>
      <description>&lt;P&gt;Need to calculate the number of minutes in each hour block a device was in error state.&amp;nbsp; I gather from research this could be done with DAX calculate or generateseries but struggling for how to implement.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://1drv.ms/u/s!Ajwjsn7bUmgJwB5St9WqA8rimPTa?e=wpA7dc" target="_blank" rel="noopener"&gt;https://1drv.ms/u/s!Ajwjsn7bUmgJwB5St9WqA8rimPTa?e=wpA7dc&lt;/A&gt;&amp;nbsp; &amp;nbsp; &amp;lt;pbix file is here&amp;nbsp;&lt;/P&gt;&lt;P&gt;Source data&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;DeviceID&lt;/TD&gt;&lt;TD&gt;Event Start&lt;/TD&gt;&lt;TD&gt;Event End&lt;/TD&gt;&lt;TD&gt;Category&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC123&lt;/TD&gt;&lt;TD&gt;12/1/2022 1:00&lt;/TD&gt;&lt;TD&gt;12/1/2022 20:00&lt;/TD&gt;&lt;TD&gt;Cat1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CDE456&lt;/TD&gt;&lt;TD&gt;11/28/2022 17:48&lt;/TD&gt;&lt;TD&gt;11/29/2022 3:24&lt;/TD&gt;&lt;TD&gt;Cat2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expected Output&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;DeviceID&lt;/TD&gt;&lt;TD&gt;Event Start&lt;/TD&gt;&lt;TD&gt;Event End&lt;/TD&gt;&lt;TD&gt;Category&lt;/TD&gt;&lt;TD&gt;Duration_Minutes&lt;/TD&gt;&lt;TD&gt;Percent&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC123&lt;/TD&gt;&lt;TD&gt;12/1/2022 2:00&lt;/TD&gt;&lt;TD&gt;12/1/2022 3:00&lt;/TD&gt;&lt;TD&gt;Cat1&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;100%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC123&lt;/TD&gt;&lt;TD&gt;12/1/2022 3:00&lt;/TD&gt;&lt;TD&gt;12/1/2022 4:00&lt;/TD&gt;&lt;TD&gt;Cat1&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;100%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CDE456&lt;/TD&gt;&lt;TD&gt;11/28/2022 17:00&lt;/TD&gt;&lt;TD&gt;11/28/2022 18:00&lt;/TD&gt;&lt;TD&gt;Cat2&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;20%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CDE456&lt;/TD&gt;&lt;TD&gt;11/28/2022 18:00&lt;/TD&gt;&lt;TD&gt;11/28/2022 19:00&lt;/TD&gt;&lt;TD&gt;Cat2&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;100%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CDE456&lt;/TD&gt;&lt;TD&gt;11/28/2022 19:00&lt;/TD&gt;&lt;TD&gt;11/28/2022 20:00&lt;/TD&gt;&lt;TD&gt;Cat2&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;100%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;…&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CDE456&lt;/TD&gt;&lt;TD&gt;11/29/2022 3:00&lt;/TD&gt;&lt;TD&gt;11/29/2022 4:00&lt;/TD&gt;&lt;TD&gt;Cat2&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;40%&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sun, 04 Dec 2022 12:02:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2946480#M97517</guid>
      <dc:creator>xbillx81</dc:creator>
      <dc:date>2022-12-04T12:02:53Z</dc:date>
    </item>
    <item>
      <title>Re: split event row into multiple rows by hour</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2946649#M97528</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="481455" data-lia-user-login="xbillx81" class="lia-mention lia-mention-user"&gt;xbillx81&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Please refer to attached sample file with the solution&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;img /&gt;&lt;img /&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;Time = 
VAR StartTime = DATEVALUE ( MIN ( 'Table'[Event Start] ) )
VAR EndTime = DATEVALUE ( MAX ( 'Table'[Event End] ) ) + TIME ( 23, 0, 0 )
RETURN
    GENERATE (
        SELECTCOLUMNS ( 
            GENERATESERIES ( StartTime, EndTime, TIME ( 1, 0, 0 ) ),
            "Start Time",
            [Value]
        ),
        ROW ( "End Time", [Start Time] + TIME ( 1, 0, 0 ) )
    )&lt;/LI-CODE&gt;&lt;LI-CODE lang="javascript"&gt;Duration = 
VAR EventStart = SELECTEDVALUE ( 'Table'[Event Start] )
VAR EventEnd = SELECTEDVALUE ( 'Table'[Event End] )
VAR StartTime = SELECTEDVALUE ( 'Time'[Start Time] )
VAR EndTime = SELECTEDVALUE ( 'Time'[End Time] )
VAR Result =
    DATEDIFF (
        MAX ( EventStart, StartTime ),
        MIN ( EventEnd, EndTime ),
        MINUTE
    )
RETURN
    IF ( Result &amp;gt; 0, Result )&lt;/LI-CODE&gt;&lt;LI-CODE lang="javascript"&gt;% Duration = [Duration]/60&lt;/LI-CODE&gt;</description>
      <pubDate>Sun, 04 Dec 2022 17:02:17 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2946649#M97528</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-12-04T17:02:17Z</dc:date>
    </item>
    <item>
      <title>Re: split event row into multiple rows by hour</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2948390#M97626</link>
      <description>&lt;P&gt;This is great, thank you.&amp;nbsp; Simpler than I thought, I was over complicating it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Dec 2022 12:40:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2948390#M97626</guid>
      <dc:creator>xbillx81</dc:creator>
      <dc:date>2022-12-05T12:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: split event row into multiple rows by hour</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2993742#M100794</link>
      <description>&lt;P&gt;Ok i've spent a few weeks working with this and the way this displays in a table report is perfect.&amp;nbsp; however, i need to perform more calculations and analysis and joins on that table and I cannot for the life of me get it to export or create into a new table.&amp;nbsp; New question is how can I get the expect output into a table instead of just into the table view report.&amp;nbsp; I'm working with a about 300k rows and the report is hitting max row limits.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Dec 2022 17:17:20 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2993742#M100794</guid>
      <dc:creator>xbillx81</dc:creator>
      <dc:date>2022-12-29T17:17:20Z</dc:date>
    </item>
    <item>
      <title>Re: split event row into multiple rows by hour</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2994395#M100843</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="481455" data-lia-user-login="xbillx81" class="lia-mention lia-mention-user"&gt;xbillx81&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Please refer to attached updated sample file&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;Table 2 = 
ADDCOLUMNS (
    SELECTCOLUMNS (
        GENERATE (
            'Table',
            VAR DeviceCategoryTable = 
                CALCULATETABLE ( 
                    'Table',
                    ALLEXCEPT ( 'Table', 'Table'[Category], 'Table'[DeviceID] )
                )
            VAR EventStart = MINX ( DeviceCategoryTable, 'Table'[Event Start] )
            VAR EventEnd = MAXX ( DeviceCategoryTable, 'Table'[Event End] )
            VAR StartMinute = MINUTE ( EventStart )
            VAR StartTime = EventStart - TIME ( 0, StartMinute, 0 )
            VAR EndMinute = MINUTE ( EventEnd )
            VAR EndHour = IF ( EndMinute = 0, 1, 0 )
            VAR EndTime = EventEnd - TIME ( EndHour, EndMinute, 0 )
            VAR TimeTable =
                GENERATE (
                    SELECTCOLUMNS ( 
                        GENERATESERIES ( StartTime, EndTime, TIME ( 1, 0, 0 ) ),
                        "Start Time",
                        [Value]
                    ),
                    ROW ( "End Time", [Start Time] + TIME ( 1, 0, 0 ) )
                )
            RETURN
                TimeTable
        ),
        "DeviceID", [DeviceID],
        "Start Time", [Start Time],
        "End Time", [End Time],
        "Category", [Category],
        "Duration", 
        VAR Difference =
            DATEDIFF (
                MAX ( [Event Start], [Start Time] ),
                MIN ( [Event End], [End Time] ),
                MINUTE
            )
        RETURN
            IF ( Difference &amp;gt; 0, Difference )
    ),
    "% Duration", 
    [Duration] / 60
)&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 30 Dec 2022 06:58:21 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/split-event-row-into-multiple-rows-by-hour/m-p/2994395#M100843</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-12-30T06:58:21Z</dc:date>
    </item>
  </channel>
</rss>

