<?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 Comparison of Rolling 6 Month Values to Filter Change or No Change in Values for all 6 Months in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Comparison-of-Rolling-6-Month-Values-to-Filter-Change-or-No/m-p/3102032#M109105</link>
    <description>&lt;P&gt;I am attempting to compare inventory values at the end of the month for a rolling 6 months. The table I am using records inventory on the last day of the month as period/year, which is converted to a date. I have added measures for each month for six months, and a calculated column for change or no change so the values can be filtered. The issue I am running in to is: the items that show no change are $0 value only, and I assume that is because the calculated column doesn't stop at 6 months, but continues indefinitely.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first measure I tried for calculating the sum for the rolling 6 months was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;M1 = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER(ALLSELECTED('FIN IC_PART_PERIOD_END_STATUS_LOT'[Date]),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] = DATE(YEAR(TODAY()),MONTH (TODAY())-1,1)),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;I made six of these, and they seemed to work for calculating the values for the months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first calculated column I created was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE([M1]-[M2])&lt;/P&gt;&lt;P&gt;VAR CheckTwo = CALCULATE([M2]-[M3])&lt;/P&gt;&lt;P&gt;VAR CheckThree = CALCULATE([M3]-[M4])&lt;/P&gt;&lt;P&gt;VAR CheckFour = CALCULATE([M4]-[M5])&lt;/P&gt;&lt;P&gt;VAR CheckFive = CALCULATE([M5]-[M6])&lt;/P&gt;&lt;P&gt;VAR CheckSix = CALCULATE(CheckOne + CheckTwo + CheckThree + CheckFour + CheckFive)&lt;/P&gt;&lt;P&gt;VAR Change = IF(CheckSix = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN Change&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;When put into a slicer, it only showed "No Change" and nothing filtered when selected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The next calculated column I tried was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE([M1]-[M2])&lt;/P&gt;&lt;P&gt;VAR CheckTwo = IF(CheckOne = 0,CALCULATE([M2]-[M3]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckThree = IF((CheckOne + CheckTwo) = 0, CALCULATE([M3]-[M4]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFour = IF((CheckTwo + CheckThree) = 0, CALCULATE([M4]-[M5]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFive = IF((CheckThree + CheckFour) = 0, CALCULATE([M5]-[M6]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckSix = IF(CheckFive = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN CheckSix&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;This showed "Change" and "No Change" in the slicer, but when "No Change" was selected, it only showed items at $0, ignoring everything over.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried using this measure:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;M1 = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),DATEADD('FIN IC_PART_PERIOD_END_STATUS_LOT'[Date],-1,MONTH),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;but it gave me a circular reference error when I created more than one.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried this calculated column:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CurrentYearMonth = DATE(YEAR(TODAY()),MONTH(TODAY()),1)&lt;/P&gt;&lt;P&gt;VAR FirstDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 1),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR SecondDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 1 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 2),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR ThirdDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 2 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 3),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR FourthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 3 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 4),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR FifthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 4 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 5),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR SixthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 5 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 6),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE(FirstDifference - SecondDifference)&lt;/P&gt;&lt;P&gt;VAR CheckTwo = IF(CheckOne = 0, CALCULATE(SecondDifference - ThirdDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckThree = IF((CheckOne + CheckTwo) = 0, CALCULATE(ThirdDifference - FourthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFour = IF((CheckTwo + CheckThree) = 0, CALCULATE(FourthDifference - FifthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFive = IF((CheckThree + CheckFour) = 0, CALCULATE(FifthDifference - SixthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckSix = IF(CheckFive = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN CheckSix&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;but it also gave me a circular reference error.&lt;/P&gt;</description>
    <pubDate>Mon, 27 Feb 2023 16:34:40 GMT</pubDate>
    <dc:creator>brianarwiley</dc:creator>
    <dc:date>2023-02-27T16:34:40Z</dc:date>
    <item>
      <title>Comparison of Rolling 6 Month Values to Filter Change or No Change in Values for all 6 Months</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Comparison-of-Rolling-6-Month-Values-to-Filter-Change-or-No/m-p/3102032#M109105</link>
      <description>&lt;P&gt;I am attempting to compare inventory values at the end of the month for a rolling 6 months. The table I am using records inventory on the last day of the month as period/year, which is converted to a date. I have added measures for each month for six months, and a calculated column for change or no change so the values can be filtered. The issue I am running in to is: the items that show no change are $0 value only, and I assume that is because the calculated column doesn't stop at 6 months, but continues indefinitely.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first measure I tried for calculating the sum for the rolling 6 months was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;M1 = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER(ALLSELECTED('FIN IC_PART_PERIOD_END_STATUS_LOT'[Date]),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] = DATE(YEAR(TODAY()),MONTH (TODAY())-1,1)),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;I made six of these, and they seemed to work for calculating the values for the months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first calculated column I created was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE([M1]-[M2])&lt;/P&gt;&lt;P&gt;VAR CheckTwo = CALCULATE([M2]-[M3])&lt;/P&gt;&lt;P&gt;VAR CheckThree = CALCULATE([M3]-[M4])&lt;/P&gt;&lt;P&gt;VAR CheckFour = CALCULATE([M4]-[M5])&lt;/P&gt;&lt;P&gt;VAR CheckFive = CALCULATE([M5]-[M6])&lt;/P&gt;&lt;P&gt;VAR CheckSix = CALCULATE(CheckOne + CheckTwo + CheckThree + CheckFour + CheckFive)&lt;/P&gt;&lt;P&gt;VAR Change = IF(CheckSix = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN Change&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;When put into a slicer, it only showed "No Change" and nothing filtered when selected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The next calculated column I tried was:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE([M1]-[M2])&lt;/P&gt;&lt;P&gt;VAR CheckTwo = IF(CheckOne = 0,CALCULATE([M2]-[M3]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckThree = IF((CheckOne + CheckTwo) = 0, CALCULATE([M3]-[M4]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFour = IF((CheckTwo + CheckThree) = 0, CALCULATE([M4]-[M5]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFive = IF((CheckThree + CheckFour) = 0, CALCULATE([M5]-[M6]), 1)&lt;/P&gt;&lt;P&gt;VAR CheckSix = IF(CheckFive = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN CheckSix&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;This showed "Change" and "No Change" in the slicer, but when "No Change" was selected, it only showed items at $0, ignoring everything over.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried using this measure:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;M1 = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),DATEADD('FIN IC_PART_PERIOD_END_STATUS_LOT'[Date],-1,MONTH),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;but it gave me a circular reference error when I created more than one.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried this calculated column:&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;Change Over Time =&lt;/P&gt;&lt;P&gt;VAR CurrentYearMonth = DATE(YEAR(TODAY()),MONTH(TODAY()),1)&lt;/P&gt;&lt;P&gt;VAR FirstDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 1),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR SecondDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 1 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 2),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR ThirdDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 2 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 3),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR FourthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 3 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 4),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR FifthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 4 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 5),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR SixthDifference = CALCULATE(SUM('FIN IC_PART_PERIOD_END_STATUS_LOT'[Extended Cost]),FILTER('FIN IC_PART_PERIOD_END_STATUS_LOT','FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;lt;= CurrentYearMonth - 5 &amp;amp;&amp;amp; 'FIN IC_PART_PERIOD_END_STATUS_LOT'[Date] &amp;gt;= CurrentYearMonth - 6),'FIN IC_PART_PERIOD_END_STATUS_LOT'[Part Code])&lt;/P&gt;&lt;P&gt;VAR CheckOne = CALCULATE(FirstDifference - SecondDifference)&lt;/P&gt;&lt;P&gt;VAR CheckTwo = IF(CheckOne = 0, CALCULATE(SecondDifference - ThirdDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckThree = IF((CheckOne + CheckTwo) = 0, CALCULATE(ThirdDifference - FourthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFour = IF((CheckTwo + CheckThree) = 0, CALCULATE(FourthDifference - FifthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckFive = IF((CheckThree + CheckFour) = 0, CALCULATE(FifthDifference - SixthDifference), 1)&lt;/P&gt;&lt;P&gt;VAR CheckSix = IF(CheckFive = 0, "No Change", "Change")&lt;/P&gt;&lt;P&gt;RETURN CheckSix&lt;SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;but it also gave me a circular reference error.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 16:34:40 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Comparison-of-Rolling-6-Month-Values-to-Filter-Change-or-No/m-p/3102032#M109105</guid>
      <dc:creator>brianarwiley</dc:creator>
      <dc:date>2023-02-27T16:34:40Z</dc:date>
    </item>
  </channel>
</rss>

