<?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: Generating Missing Data in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237856#M188239</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="805068" data-lia-user-login="JasonBurdetts" class="lia-mention lia-mention-user"&gt;JasonBurdetts&lt;/a&gt;,&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;Yes, this can be achieved either with &lt;STRONG&gt;DAX&lt;/STRONG&gt; or &lt;STRONG&gt;Power Query&lt;/STRONG&gt;, but based on your explanation, &lt;STRONG&gt;Power Query may be the simpler option.&amp;nbsp;&lt;/STRONG&gt;Since your actual Value column is an &lt;STRONG&gt;aggregate of integer entries that occur within each hour&lt;/STRONG&gt;, the key is to &lt;STRONG&gt;aggregate first&lt;/STRONG&gt;, then fill down.&lt;/P&gt;&lt;P&gt;The correct order would be:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Aggregate the fact table by Hour&lt;/LI&gt;&lt;LI&gt;Left join/merge it with the full Hour/Date dimension table&lt;/LI&gt;&lt;LI&gt;Sort by Hour ascending&lt;/LI&gt;&lt;LI&gt;Expand to get Value Column&lt;/LI&gt;&lt;LI&gt;Fill down the aggregated value column. &lt;STRONG&gt;Note&lt;/STRONG&gt;: First row would be null after applying Fill down, replace null with 'FALSE'.&lt;/LI&gt;&lt;/OL&gt;&lt;img /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&amp;nbsp;Helpful?&amp;nbsp;Give a Kudos &lt;span class="lia-unicode-emoji" title=":thumbs_up:"&gt;👍&lt;/span&gt; — keep the community growing&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&amp;nbsp;Solved your issue?&amp;nbsp;Mark as Solution &lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; — help others find it faster&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Best regards,&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Rupasree Achari | BI &amp;amp; Fabric Analytics Engineer&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 28 Jun 2026 18:11:07 GMT</pubDate>
    <dc:creator>Rupa01</dc:creator>
    <dc:date>2026-06-28T18:11:07Z</dc:date>
    <item>
      <title>Generating Missing Data</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237794#M188238</link>
      <description>&lt;P&gt;I am attempt to solve an issue where I believe I am starting with some misconceptions, so I would like to explain a very simple scenario, the solution and why the solution works.&lt;/P&gt;&lt;P&gt;Image a Dimension table having Hours 1 to 12&amp;nbsp;(in practice, a Date table, but I am using hours here to demonstrate).&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Hour&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;...&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Imagine a Fact table having series data Each Value entry is either true, false, or we don't have a data point for the specific hour as in the below table.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Hour&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Value&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How do I use DAX (or Power Query if more appropriate) to essentially create a SQL left join so that every Hour is represented in the second table, and that blank Values are filled with the value that is the first previous (in hour order) non empty value? In the below table, new values represented in italics.&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;&lt;STRONG&gt;Hour&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Value&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;1&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;5&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;9&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;10&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;EM&gt;12&lt;/EM&gt;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;This a very simple representation of what I am trying to understand after struggling with LASTNONBLANK and similar functions. The actual Value column is an aggregate of integer entries that that occur in that hour, in which I'd like to use the first previous aggregated value.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jason&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jun 2026 03:44:48 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237794#M188238</guid>
      <dc:creator>JasonBurdetts</dc:creator>
      <dc:date>2026-06-26T03:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Missing Data</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237856#M188239</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="805068" data-lia-user-login="JasonBurdetts" class="lia-mention lia-mention-user"&gt;JasonBurdetts&lt;/a&gt;,&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;Yes, this can be achieved either with &lt;STRONG&gt;DAX&lt;/STRONG&gt; or &lt;STRONG&gt;Power Query&lt;/STRONG&gt;, but based on your explanation, &lt;STRONG&gt;Power Query may be the simpler option.&amp;nbsp;&lt;/STRONG&gt;Since your actual Value column is an &lt;STRONG&gt;aggregate of integer entries that occur within each hour&lt;/STRONG&gt;, the key is to &lt;STRONG&gt;aggregate first&lt;/STRONG&gt;, then fill down.&lt;/P&gt;&lt;P&gt;The correct order would be:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Aggregate the fact table by Hour&lt;/LI&gt;&lt;LI&gt;Left join/merge it with the full Hour/Date dimension table&lt;/LI&gt;&lt;LI&gt;Sort by Hour ascending&lt;/LI&gt;&lt;LI&gt;Expand to get Value Column&lt;/LI&gt;&lt;LI&gt;Fill down the aggregated value column. &lt;STRONG&gt;Note&lt;/STRONG&gt;: First row would be null after applying Fill down, replace null with 'FALSE'.&lt;/LI&gt;&lt;/OL&gt;&lt;img /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;PRE&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&amp;nbsp;Helpful?&amp;nbsp;Give a Kudos &lt;span class="lia-unicode-emoji" title=":thumbs_up:"&gt;👍&lt;/span&gt; — keep the community growing&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&amp;nbsp;Solved your issue?&amp;nbsp;Mark as Solution &lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; — help others find it faster&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Best regards,&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Rupasree Achari | BI &amp;amp; Fabric Analytics Engineer&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 28 Jun 2026 18:11:07 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237856#M188239</guid>
      <dc:creator>Rupa01</dc:creator>
      <dc:date>2026-06-28T18:11:07Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Missing Data</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237902#M188240</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="805068" data-lia-user-login="JasonBurdetts" class="lia-mention lia-mention-user"&gt;JasonBurdetts&lt;/a&gt;&amp;nbsp;If your require to use DAX then pull the hour from the Dim table to the visual and add below DAX Measure to it to get the desired result.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Filled Value = 
VAR CurrentHour =
    MAX ( DimHour[Hour] )
VAR PreviousFactHour =
    CALCULATE (
        MAX ( Fact[Hour] ),
        FILTER (
            ALL ( 'Fact' ),
            'Fact'[Hour] &amp;lt;= CurrentHour
                &amp;amp;&amp;amp; NOT ISBLANK ( Fact[Value] )
        )
    )
RETURN
    IF (
        ISBLANK ( PreviousFactHour ),
        BLANK (),
        CALCULATE (
            SELECTEDVALUE ( 'Fact'[Value] ),
            FILTER (
                ALL ( 'Fact' ),
                'Fact'[Hour] = PreviousFactHour
            )
        )
    )&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":direct_hit:"&gt;🎯&lt;/span&gt;&lt;STRONG&gt;Result - &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt;&amp;nbsp;Helpful?&amp;nbsp;Give a Kudos &lt;span class="lia-unicode-emoji" title=":thumbs_up:"&gt;👍&lt;/span&gt; — keep the community growing&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2" color="#000000"&gt;&lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;&amp;nbsp;Solved your issue?&amp;nbsp;Mark as Solution &lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; — help others find it faster&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Best regards,&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#6f2dbd"&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT face="arial,helvetica,sans-serif" size="2"&gt;Rupasree Achari | BI &amp;amp; Fabric Analytics Engineer&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/PRE&gt;</description>
      <pubDate>Sun, 28 Jun 2026 18:11:55 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5237902#M188240</guid>
      <dc:creator>Rupa01</dc:creator>
      <dc:date>2026-06-28T18:11:55Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Missing Data</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5238739#M188241</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="805068" data-lia-user-login="JasonBurdetts" class="lia-mention lia-mention-user"&gt;JasonBurdetts&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do this in Power Query, much cleaner than DAX here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Start from your Hour list (1-12) and left join the Fact table on Hour. Missing hours show null.&lt;BR /&gt;Sort by Hour ascending.&lt;BR /&gt;Right-click the Value column, Fill &amp;gt; Down. That carries the last value forward into the blanks.&lt;BR /&gt;Replace any leftover null at Hour 1 with False.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If this answer helped, please click &lt;span class="lia-unicode-emoji" title=":thumbs_up:"&gt;👍&lt;/span&gt; or Accept as Solution.&lt;BR /&gt;-Kedar&lt;BR /&gt;LinkedIn: &lt;A href="https://www.linkedin.com/in/kedar-pande" target="_blank"&gt;https://www.linkedin.com/in/kedar-pande&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jun 2026 09:55:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Generating-Missing-Data/m-p/5238739#M188241</guid>
      <dc:creator>Kedar_Pande</dc:creator>
      <dc:date>2026-06-26T09:55:59Z</dc:date>
    </item>
  </channel>
</rss>

