<?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: Updating table rows based on earlier row in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4030766#M159386</link>
    <description>&lt;P&gt;I'm sorry, I'm not sure I understand the question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If a record has "[Flag] = "Adj" and [Case] = "L", I want to set [Output] ="H" for all other records with the same [ID] where [Date] &amp;gt; than the date value contained in this record and where [Case] != "L"".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The second part of the logic ([Case] != "L") is because eventually the golden source will update and a record will be ingested containing x.[ID], x.[Case] and [Flag] = Source.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hopefully this helps clarify?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Someone else suggested the below to me:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;let
    Source = Table.Sort(your_table, {"ID", "Date"}),
    rec = (x) =&amp;gt; [L = {"Output", each "H"}, M = {"Level", each x{0}[Level]}],
    fx = (tbl) =&amp;gt; Table.TransformColumns(tbl, Record.FieldOrDefault(rec(tbl), tbl{0}[Case], {})),
    group = Table.Group(
        Source, 
        {"ID", "Case"},
        {"x", fx},
        GroupKind.Local, 
        (s, c) =&amp;gt; Number.From(s[ID] &amp;lt;&amp;gt; c[ID] or List.Contains({"L", "M"}, c[Case]))
    ),
    z = Table.Combine(group[x])
in
    z&lt;/PRE&gt;&lt;P&gt;This seems to achive close to the outcome I'm looking for, although I suspect for performance optimisation, it would be better to execute this as a step within the existing query, rather than a standalone. Additionally, the outputs seem slightly different from what I'm expecting. I wonder if it's because the flag logic isn't considered and the rules are applied to all records regardless.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have any thoughts on how to update to achieve the correct output, I'd be greatly appreciative.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Mon, 08 Jul 2024 16:37:01 GMT</pubDate>
    <dc:creator>PaulBoden</dc:creator>
    <dc:date>2024-07-08T16:37:01Z</dc:date>
    <item>
      <title>Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4024858#M158871</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a solution that needs to integrate manual updates during downtimes before eventually reconciling the data once the correct information becomes available at source.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The solution needs to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Find instances where a flag has indicated a manual adjustment has been made to a user entry&lt;/LI&gt;&lt;LI&gt;Identify any entries associated with this user ID between the date on which the manual adjustment was made and the date on which the source data has been updated to reflect the manual adjustment (if applicable)&lt;/LI&gt;&lt;LI&gt;Apply a specific set of adjustments to the identified rows, dependent on the nature of the adjustment.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Considering the attached table, I’ve tried to outline the logic I’m trying to implement below:&lt;/P&gt;&lt;P&gt;For the purposes of this explanation, I’ll refer to the manual adjustment as row X.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;IF Flag = “Adj” (&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF Case = “L” (&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For any Date &amp;gt;=&amp;nbsp; Than X.Date WHERE ID = X.ID And Case != X.Case&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output = “H”&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF Case = “M” (&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For any Date &amp;gt;=&amp;nbsp; Than X.Date WHERE ID = X.ID And Case != X.Case&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Level = X.Level&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Any advice on how to optimally achieve this within PowerBI would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IDCaseFlagLevelDateOutput&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Adj&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;06/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;07/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;09/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;06/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;07/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;06/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;07/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Adj&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;09/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;10/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;11/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Adj&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;06/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;07/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;09/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;10/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;11/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;L&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Adj&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;05/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;06/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;07/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;09/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;10/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;11/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;12/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;13/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 04 Jul 2024 10:04:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4024858#M158871</guid>
      <dc:creator>PaulBoden</dc:creator>
      <dc:date>2024-07-04T10:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4026320#M158978</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="350963" data-lia-user-login="PaulBoden" class="lia-mention lia-mention-user"&gt;PaulBoden&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;I'm not clear about your requirement. Do you want to get the field [Output]? Could you please explain the judgement&amp;nbsp;logic base on your provided sample data?&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;Best Regards&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2024 06:05:09 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4026320#M158978</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-07-05T06:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4026682#M159010</link>
      <description>&lt;P&gt;Apologies for being unclear - The table should be formatted as below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Case&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Flag&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Level&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Date&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Output&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;03/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;HC&lt;/TD&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;04/07/2024&lt;/TD&gt;&lt;TD&gt;S&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 05 Jul 2024 08:41:42 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4026682#M159010</guid>
      <dc:creator>PaulBoden</dc:creator>
      <dc:date>2024-07-05T08:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4029564#M159268</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="350963" data-lia-user-login="PaulBoden" class="lia-mention lia-mention-user"&gt;PaulBoden&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Could you please explain the judgement logic of getting the field [Output] base on the shared sample data and below formula? For example: if xx="Adj" &amp;amp;&amp;amp; xxx = xxx then xx&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;IF Flag = “Adj” (

                IF Case = “L” (

                                For any Date &amp;gt;=  Than X.Date WHERE ID = X.ID And Case != X.Case

                                                Output = “H”

                )

                IF Case = “M” (

                                For any Date &amp;gt;=  Than X.Date WHERE ID = X.ID And Case != X.Case

                                                Level = X.Level

                )

)

 &lt;/LI-CODE&gt;
&lt;P&gt;Best Regards&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 07:17:15 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4029564#M159268</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-07-08T07:17:15Z</dc:date>
    </item>
    <item>
      <title>Re: Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4030766#M159386</link>
      <description>&lt;P&gt;I'm sorry, I'm not sure I understand the question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If a record has "[Flag] = "Adj" and [Case] = "L", I want to set [Output] ="H" for all other records with the same [ID] where [Date] &amp;gt; than the date value contained in this record and where [Case] != "L"".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The second part of the logic ([Case] != "L") is because eventually the golden source will update and a record will be ingested containing x.[ID], x.[Case] and [Flag] = Source.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hopefully this helps clarify?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Someone else suggested the below to me:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;let
    Source = Table.Sort(your_table, {"ID", "Date"}),
    rec = (x) =&amp;gt; [L = {"Output", each "H"}, M = {"Level", each x{0}[Level]}],
    fx = (tbl) =&amp;gt; Table.TransformColumns(tbl, Record.FieldOrDefault(rec(tbl), tbl{0}[Case], {})),
    group = Table.Group(
        Source, 
        {"ID", "Case"},
        {"x", fx},
        GroupKind.Local, 
        (s, c) =&amp;gt; Number.From(s[ID] &amp;lt;&amp;gt; c[ID] or List.Contains({"L", "M"}, c[Case]))
    ),
    z = Table.Combine(group[x])
in
    z&lt;/PRE&gt;&lt;P&gt;This seems to achive close to the outcome I'm looking for, although I suspect for performance optimisation, it would be better to execute this as a step within the existing query, rather than a standalone. Additionally, the outputs seem slightly different from what I'm expecting. I wonder if it's because the flag logic isn't considered and the rules are applied to all records regardless.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have any thoughts on how to update to achieve the correct output, I'd be greatly appreciative.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 16:37:01 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4030766#M159386</guid>
      <dc:creator>PaulBoden</dc:creator>
      <dc:date>2024-07-08T16:37:01Z</dc:date>
    </item>
    <item>
      <title>Re: Updating table rows based on earlier row</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4034150#M159747</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="350963" data-lia-user-login="PaulBoden" class="lia-mention lia-mention-user"&gt;PaulBoden&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;You can create a &lt;STRONG&gt;calculated column&lt;/STRONG&gt; as below to get it, please find the details in &lt;EM&gt;&lt;STRONG&gt;the attachment&lt;/STRONG&gt;&lt;/EM&gt;.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Output = 
VAR _id = 'Table'[ID]
VAR _date = 'Table'[Date]
VAR _case = 'Table'[Case]
VAR _level = 'Table'[Level]
VAR _ladjdate =
    CALCULATE (
        MIN ( 'Table'[Date] ),
        FILTER (
            'Table',
            'Table'[ID] = _id
                &amp;amp;&amp;amp; 'Table'[Flag] = "Adj"
                &amp;amp;&amp;amp; 'Table'[Case] = "L"
        )
    )
VAR _madjdate =
    CALCULATE (
        MIN ( 'Table'[Date] ),
        FILTER (
            'Table',
            'Table'[ID] = _id
                &amp;amp;&amp;amp; 'Table'[Flag] = "Adj"
                &amp;amp;&amp;amp; 'Table'[Case] = "M"
        )
    )
RETURN
    IF (
        (
            'Table'[ID] = _id
                &amp;amp;&amp;amp; NOT ( ISBLANK ( _ladjdate ) )
                    &amp;amp;&amp;amp; 'Table'[Date] &amp;gt;= _ladjdate
                    &amp;amp;&amp;amp; 'Table'[Case] &amp;lt;&amp;gt; "L"
        )
            || (
                'Table'[ID] = _id
                    &amp;amp;&amp;amp; NOT ( ISBLANK ( _madjdate ) )
                        &amp;amp;&amp;amp; 'Table'[Date] &amp;gt;= _madjdate
                        &amp;amp;&amp;amp; 'Table'[Case] &amp;lt;&amp;gt; "M"
                        &amp;amp;&amp;amp; 'Table'[Level] = _level
            ),
        "H"
    )&lt;/LI-CODE&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;Best Regards&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jul 2024 08:47:47 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Updating-table-rows-based-on-earlier-row/m-p/4034150#M159747</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-07-10T08:47:47Z</dc:date>
    </item>
  </channel>
</rss>

