<?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 DAX Measure for previous values based on dimension in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424010#M64316</link>
    <description>&lt;P&gt;I am struggeling with creating a measure with DAX.&lt;BR /&gt;I have an existing measure per two dimensions (ChainStoreID, ClusterID)&lt;BR /&gt;&lt;BR /&gt;Now I want my measure to follow two simple rules.&lt;BR /&gt;&lt;BR /&gt;1. If there is a blank value, get the next filled value (ordered by ClusterId) for this chainstore.&lt;BR /&gt;&lt;BR /&gt;eg&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;there are three blank values (116, 1 ; 117, 7 ; 117, 8). As 116, 1 has no lower ClusterId, it should remain empty.&lt;BR /&gt;ClusterId 7 and 8 for ChainStoreId 117 should be filled with 87.&lt;BR /&gt;&lt;BR /&gt;2. The current value should be the same or higher than the value of the previous clusterId.&lt;BR /&gt;&lt;BR /&gt;eg.&amp;nbsp;ClusterID 6 (88) is lower than ClusterId 5 (93), so it should be 93.&lt;BR /&gt;&lt;BR /&gt;Current situation:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;Expectation:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ChainStoreId&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;116&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;72&lt;/TD&gt;&lt;TD&gt;74&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;77&lt;/TD&gt;&lt;TD&gt;79&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Tue, 29 Mar 2022 10:54:47 GMT</pubDate>
    <dc:creator>TOK</dc:creator>
    <dc:date>2022-03-29T10:54:47Z</dc:date>
    <item>
      <title>DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424010#M64316</link>
      <description>&lt;P&gt;I am struggeling with creating a measure with DAX.&lt;BR /&gt;I have an existing measure per two dimensions (ChainStoreID, ClusterID)&lt;BR /&gt;&lt;BR /&gt;Now I want my measure to follow two simple rules.&lt;BR /&gt;&lt;BR /&gt;1. If there is a blank value, get the next filled value (ordered by ClusterId) for this chainstore.&lt;BR /&gt;&lt;BR /&gt;eg&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;there are three blank values (116, 1 ; 117, 7 ; 117, 8). As 116, 1 has no lower ClusterId, it should remain empty.&lt;BR /&gt;ClusterId 7 and 8 for ChainStoreId 117 should be filled with 87.&lt;BR /&gt;&lt;BR /&gt;2. The current value should be the same or higher than the value of the previous clusterId.&lt;BR /&gt;&lt;BR /&gt;eg.&amp;nbsp;ClusterID 6 (88) is lower than ClusterId 5 (93), so it should be 93.&lt;BR /&gt;&lt;BR /&gt;Current situation:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;Expectation:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ChainStoreId&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;116&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;72&lt;/TD&gt;&lt;TD&gt;74&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;TD&gt;93&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;117&lt;/TD&gt;&lt;TD&gt;68&lt;/TD&gt;&lt;TD&gt;77&lt;/TD&gt;&lt;TD&gt;79&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;TD&gt;88&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 10:54:47 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424010#M64316</guid>
      <dc:creator>TOK</dc:creator>
      <dc:date>2022-03-29T10:54:47Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424106#M64322</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Please check the below picture and the attached pbix file.&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;LI-CODE lang="markup"&gt;Value measure: = 
SUM( Data[Value] )&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Desired outcome measure: =
VAR currentclusterid =
    MAX ( 'Cluster'[ClusterID] )
VAR currentchainstoreid =
    MAX ( ChainStore[ChainStoreID] )
VAR currentvalue = [Value measure:]
VAR maxvalueperchainstore =
    MAXX (
        FILTER (
            ALL ( Data ),
            Data[ChainStoreID] = currentchainstoreid
                &amp;amp;&amp;amp; Data[ClusterID] &amp;lt;= currentclusterid
        ),
        Data[Value]
    )
RETURN
    IF (
        currentvalue &amp;lt;= maxvalueperchainstore,
        maxvalueperchainstore,
        currentvalue
    )
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 11:44:31 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424106#M64322</guid>
      <dc:creator>Jihwan_Kim</dc:creator>
      <dc:date>2022-03-29T11:44:31Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424184#M64329</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="108212" data-lia-user-login="TOK" class="lia-mention lia-mention-user"&gt;TOK&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Here is a sample file with the solution&lt;A href="https://www.dropbox.com/t/n3qHIrFTHyVIexTR" target="_blank"&gt;https://www.dropbox.com/t/n3qHIrFTHyVIexTR&lt;/A&gt;&lt;/P&gt;&lt;P&gt;You can create a new calculated column&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="php"&gt;New Value = 
VAR CurrentValue = 
    Data[Value]
VAR CurrentClusterId =
    Data[ClusterId]
VAR CurrentStoreTable =
    CALCULATETABLE ( Data, ALLEXCEPT ( Data, Data[ChainStoreId] ) )
VAR MaxValuePerStore =
    MAXX ( CurrentStoreTable, Data[Value] )
VAR ClusterIdOfMaxValue =
    CALCULATE ( 
        MAX ( Data[ClusterId] ), 
        CurrentStoreTable,
        Data[Value] = MaxValuePerStore 
    )
VAR Result =
    IF ( 
        CurrentValue &amp;lt; MaxValuePerStore
            &amp;amp;&amp;amp; CurrentClusterId &amp;gt; ClusterIdOfMaxValue,
        MaxValuePerStore,
        CurrentValue
    )
RETURN
   Result&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 12:21:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424184#M64329</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-03-29T12:21:24Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424295#M64335</link>
      <description>&lt;P&gt;I tried both of your solutions and a calculated column worked best for me.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;But&amp;nbsp;I guess my example wasn't specific enough. It works for Max(Value) having Max(ClusterID), but thats not always the case. ChainStoreID = 113 should return 78 for ClusterID 4 and 5, but our if clause won't return the expected as 78 is not max(Value) nor max(ClusterId).&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 13:04:29 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424295#M64335</guid>
      <dc:creator>TOK</dc:creator>
      <dc:date>2022-03-29T13:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424318#M64338</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="108212" data-lia-user-login="TOK" class="lia-mention lia-mention-user"&gt;TOK&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Ok you mean the maximum previous value right? This can be fixed&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 13:15:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424318#M64338</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-03-29T13:15:04Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Measure for previous values based on dimension</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424330#M64339</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="108212" data-lia-user-login="TOK" class="lia-mention lia-mention-user"&gt;TOK&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Try this&amp;nbsp;&lt;A href="https://www.dropbox.com/t/fEVKUullXZ43Unud" target="_blank" rel="noopener"&gt;https://www.dropbox.com/t/fEVKUullXZ43Unud&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="php"&gt;New Value = 
VAR CurrentValue = 
    Data[Value]
VAR CurrentClusterId =
    Data[ClusterId]
VAR CurrentStoreTable =
    CALCULATETABLE ( Data, ALLEXCEPT ( Data, Data[ChainStoreId] ) )
VAR PreviousClustersTable =
    FILTER ( CurrentStoreTable, Data[ClusterId] &amp;lt; CurrentClusterId )
VAR MaxValuePerStore =
    MAXX ( PreviousClustersTable, Data[Value] )
VAR ClusterIdOfMaxValue =
    CALCULATE ( 
        MAX ( Data[ClusterId] ), 
        PreviousClustersTable,
        Data[Value] = MaxValuePerStore 
    )
VAR Result =
    IF ( 
        CurrentValue &amp;lt; MaxValuePerStore
            &amp;amp;&amp;amp; CurrentClusterId &amp;gt; ClusterIdOfMaxValue,
        MaxValuePerStore,
        CurrentValue
    )
RETURN
   Result&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 13:30:31 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Measure-for-previous-values-based-on-dimension/m-p/2424330#M64339</guid>
      <dc:creator>tamerj1</dc:creator>
      <dc:date>2022-03-29T13:30:31Z</dc:date>
    </item>
  </channel>
</rss>

