<?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: Calculated Column for previous trading day close price and previous 3 trading days avg close pri in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/748028#M2575</link>
    <description>&lt;P&gt;You could do these as measures, all depends on what your final goal is and all of that. But going the calculated column route:&lt;/P&gt;&lt;PRE&gt;Prev Close = 
var __CurrentDate= 'Table'[DateCounterID]
var __CurrentTicker = 'Table'[TickerID]
return

CALCULATE(
    sum( 'Table'[ClosePrice] ),
    filter(
        'Table',
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] = __CurrentDate - 1 
    )
)&lt;/PRE&gt;&lt;PRE&gt;3 Day Average = 
var __CurrentDate= 'Table'[DateCounterID]
var __CurrentTicker = 'Table'[TickerID]
vAR __MALength= 3
return

Var __MovingAverage=
CALCULATE(
    AVERAGEX(
    filter(
        ALL('Table'),
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] = __CurrentDate 
        &amp;amp;&amp;amp;
        'Table'[DateCounterID] &amp;gt;= __CurrentDate - (__MALength-1)
    ),
    sum('Table'[ClosePrice])
))

Var __RowCount=
COUNTROWS(
       filter(
        ALL('Table'),
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] &amp;lt;= __CurrentDate 
        
    )
)
RETURN
if( __RowCount &amp;gt;= __MALength,__MovingAverage)&lt;/PRE&gt;&lt;P&gt;Moving average one looks much worse than it is. Just basically feeding the averagex function a list of dates ( using your DateCounter ID, which for ticker1 skips from 10758 to 10760...) then does a check to see if there is enough dates for the moving average. Probably didnt want to see a 3 day MA figure on day two...&amp;nbsp; You can just copy that code, change the __MALength variable to whatever other length.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Moving Average and Prve Close calc columns.png" style="width: 704px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/179974iF28D543874B402F8/image-size/large?v=v2&amp;amp;px=999" role="button" title="Moving Average and Prve Close calc columns.png" alt="Moving Average and Prve Close calc columns.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 24 Jul 2019 15:14:35 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2019-07-24T15:14:35Z</dc:date>
    <item>
      <title>Calculated Column for previous trading day close price and previous 3 trading days avg close price</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/746168#M2507</link>
      <description>&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;am new to DAX and looking for some help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have below sample dataset to work with in Tabular Model (DateCounterID is brought from Date table using related function). Date table keeps track of Trading Days and adds a counter to DateCounterID. in Date table, the dates trading didn't happen DateCounterID is populated as 0. My Goal is to have few more calculated columns created to store "Previous Trading Day's Close Price", 3 Days Average of Closing Price ( 3 day avg is average of 3 previous day's closing price), and then 5 Days Average closing price, 10 Days Average closing price etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think we need to create calculated column to save previous trading day's close price. This can not be done in a measure as there is no aggregation. Also, the final requirements to create measures will depend on these Calculated Columns when users will be selecting Date range from PowerBI. Say a measure would be % increase in Stock Price for the selected range where we need to use closing price of previous day on start day and closing price on end day.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;TickerID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;ClosePrice&lt;/TD&gt;&lt;TD&gt;DateKey&lt;/TD&gt;&lt;TD&gt;DateCounterID&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/3/2017&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;20170103&lt;/TD&gt;&lt;TD&gt;10750&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/3/2017&lt;/TD&gt;&lt;TD&gt;50.87&lt;/TD&gt;&lt;TD&gt;20170103&lt;/TD&gt;&lt;TD&gt;10750&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/4/2017&lt;/TD&gt;&lt;TD&gt;38.29&lt;/TD&gt;&lt;TD&gt;20170104&lt;/TD&gt;&lt;TD&gt;10751&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/4/2017&lt;/TD&gt;&lt;TD&gt;51.12&lt;/TD&gt;&lt;TD&gt;20170104&lt;/TD&gt;&lt;TD&gt;10751&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/5/2017&lt;/TD&gt;&lt;TD&gt;38.57&lt;/TD&gt;&lt;TD&gt;20170105&lt;/TD&gt;&lt;TD&gt;10752&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/5/2017&lt;/TD&gt;&lt;TD&gt;51.75&lt;/TD&gt;&lt;TD&gt;20170105&lt;/TD&gt;&lt;TD&gt;10752&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/6/2017&lt;/TD&gt;&lt;TD&gt;37.91&lt;/TD&gt;&lt;TD&gt;20170106&lt;/TD&gt;&lt;TD&gt;10753&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/6/2017&lt;/TD&gt;&lt;TD&gt;51.15&lt;/TD&gt;&lt;TD&gt;20170106&lt;/TD&gt;&lt;TD&gt;10753&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/9/2017&lt;/TD&gt;&lt;TD&gt;37.31&lt;/TD&gt;&lt;TD&gt;20170109&lt;/TD&gt;&lt;TD&gt;10754&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/9/2017&lt;/TD&gt;&lt;TD&gt;50.61&lt;/TD&gt;&lt;TD&gt;20170109&lt;/TD&gt;&lt;TD&gt;10754&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/10/2017&lt;/TD&gt;&lt;TD&gt;37.11&lt;/TD&gt;&lt;TD&gt;20170110&lt;/TD&gt;&lt;TD&gt;10755&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/10/2017&lt;/TD&gt;&lt;TD&gt;50.62&lt;/TD&gt;&lt;TD&gt;20170110&lt;/TD&gt;&lt;TD&gt;10755&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/11/2017&lt;/TD&gt;&lt;TD&gt;37.55&lt;/TD&gt;&lt;TD&gt;20170111&lt;/TD&gt;&lt;TD&gt;10756&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/11/2017&lt;/TD&gt;&lt;TD&gt;51.21&lt;/TD&gt;&lt;TD&gt;20170111&lt;/TD&gt;&lt;TD&gt;10756&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/12/2017&lt;/TD&gt;&lt;TD&gt;37.76&lt;/TD&gt;&lt;TD&gt;20170112&lt;/TD&gt;&lt;TD&gt;10757&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/12/2017&lt;/TD&gt;&lt;TD&gt;51.81&lt;/TD&gt;&lt;TD&gt;20170112&lt;/TD&gt;&lt;TD&gt;10757&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/13/2017&lt;/TD&gt;&lt;TD&gt;37.66&lt;/TD&gt;&lt;TD&gt;20170113&lt;/TD&gt;&lt;TD&gt;10758&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/13/2017&lt;/TD&gt;&lt;TD&gt;51.59&lt;/TD&gt;&lt;TD&gt;20170113&lt;/TD&gt;&lt;TD&gt;10758&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/17/2017&lt;/TD&gt;&lt;TD&gt;37.44&lt;/TD&gt;&lt;TD&gt;20170117&lt;/TD&gt;&lt;TD&gt;10760&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/17/2017&lt;/TD&gt;&lt;TD&gt;51.51&lt;/TD&gt;&lt;TD&gt;20170117&lt;/TD&gt;&lt;TD&gt;10760&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/18/2017&lt;/TD&gt;&lt;TD&gt;37.1&lt;/TD&gt;&lt;TD&gt;20170118&lt;/TD&gt;&lt;TD&gt;10761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/18/2017&lt;/TD&gt;&lt;TD&gt;51.19&lt;/TD&gt;&lt;TD&gt;20170118&lt;/TD&gt;&lt;TD&gt;10761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/19/2017&lt;/TD&gt;&lt;TD&gt;36.9&lt;/TD&gt;&lt;TD&gt;20170119&lt;/TD&gt;&lt;TD&gt;10762&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/19/2017&lt;/TD&gt;&lt;TD&gt;50.66&lt;/TD&gt;&lt;TD&gt;20170119&lt;/TD&gt;&lt;TD&gt;10762&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/20/2017&lt;/TD&gt;&lt;TD&gt;36.84&lt;/TD&gt;&lt;TD&gt;20170120&lt;/TD&gt;&lt;TD&gt;10763&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/20/2017&lt;/TD&gt;&lt;TD&gt;51.16&lt;/TD&gt;&lt;TD&gt;20170120&lt;/TD&gt;&lt;TD&gt;10763&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/23/2017&lt;/TD&gt;&lt;TD&gt;36.61&lt;/TD&gt;&lt;TD&gt;20170123&lt;/TD&gt;&lt;TD&gt;10764&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/23/2017&lt;/TD&gt;&lt;TD&gt;50.91&lt;/TD&gt;&lt;TD&gt;20170123&lt;/TD&gt;&lt;TD&gt;10764&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/24/2017&lt;/TD&gt;&lt;TD&gt;36.91&lt;/TD&gt;&lt;TD&gt;20170124&lt;/TD&gt;&lt;TD&gt;10765&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/24/2017&lt;/TD&gt;&lt;TD&gt;51.23&lt;/TD&gt;&lt;TD&gt;20170124&lt;/TD&gt;&lt;TD&gt;10765&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/25/2017&lt;/TD&gt;&lt;TD&gt;37.03&lt;/TD&gt;&lt;TD&gt;20170125&lt;/TD&gt;&lt;TD&gt;10766&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/25/2017&lt;/TD&gt;&lt;TD&gt;51.48&lt;/TD&gt;&lt;TD&gt;20170125&lt;/TD&gt;&lt;TD&gt;10766&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/26/2017&lt;/TD&gt;&lt;TD&gt;36.74&lt;/TD&gt;&lt;TD&gt;20170126&lt;/TD&gt;&lt;TD&gt;10767&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/26/2017&lt;/TD&gt;&lt;TD&gt;50.79&lt;/TD&gt;&lt;TD&gt;20170126&lt;/TD&gt;&lt;TD&gt;10767&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/27/2017&lt;/TD&gt;&lt;TD&gt;36.58&lt;/TD&gt;&lt;TD&gt;20170127&lt;/TD&gt;&lt;TD&gt;10768&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/27/2017&lt;/TD&gt;&lt;TD&gt;50.4&lt;/TD&gt;&lt;TD&gt;20170127&lt;/TD&gt;&lt;TD&gt;10768&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/30/2017&lt;/TD&gt;&lt;TD&gt;35.96&lt;/TD&gt;&lt;TD&gt;20170130&lt;/TD&gt;&lt;TD&gt;10769&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/30/2017&lt;/TD&gt;&lt;TD&gt;49.82&lt;/TD&gt;&lt;TD&gt;20170130&lt;/TD&gt;&lt;TD&gt;10769&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/31/2017&lt;/TD&gt;&lt;TD&gt;35.98&lt;/TD&gt;&lt;TD&gt;20170131&lt;/TD&gt;&lt;TD&gt;10770&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/31/2017&lt;/TD&gt;&lt;TD&gt;50.56&lt;/TD&gt;&lt;TD&gt;20170131&lt;/TD&gt;&lt;TD&gt;10770&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 23 Jul 2019 02:11:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/746168#M2507</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-07-23T02:11:16Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated Column for previous trading day close price and previous 3 trading days avg close pri</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/748028#M2575</link>
      <description>&lt;P&gt;You could do these as measures, all depends on what your final goal is and all of that. But going the calculated column route:&lt;/P&gt;&lt;PRE&gt;Prev Close = 
var __CurrentDate= 'Table'[DateCounterID]
var __CurrentTicker = 'Table'[TickerID]
return

CALCULATE(
    sum( 'Table'[ClosePrice] ),
    filter(
        'Table',
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] = __CurrentDate - 1 
    )
)&lt;/PRE&gt;&lt;PRE&gt;3 Day Average = 
var __CurrentDate= 'Table'[DateCounterID]
var __CurrentTicker = 'Table'[TickerID]
vAR __MALength= 3
return

Var __MovingAverage=
CALCULATE(
    AVERAGEX(
    filter(
        ALL('Table'),
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] = __CurrentDate 
        &amp;amp;&amp;amp;
        'Table'[DateCounterID] &amp;gt;= __CurrentDate - (__MALength-1)
    ),
    sum('Table'[ClosePrice])
))

Var __RowCount=
COUNTROWS(
       filter(
        ALL('Table'),
        'Table'[TickerID] = __CurrentTicker
        &amp;amp;&amp;amp; 
        'Table'[DateCounterID] &amp;lt;= __CurrentDate 
        
    )
)
RETURN
if( __RowCount &amp;gt;= __MALength,__MovingAverage)&lt;/PRE&gt;&lt;P&gt;Moving average one looks much worse than it is. Just basically feeding the averagex function a list of dates ( using your DateCounter ID, which for ticker1 skips from 10758 to 10760...) then does a check to see if there is enough dates for the moving average. Probably didnt want to see a 3 day MA figure on day two...&amp;nbsp; You can just copy that code, change the __MALength variable to whatever other length.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Moving Average and Prve Close calc columns.png" style="width: 704px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/179974iF28D543874B402F8/image-size/large?v=v2&amp;amp;px=999" role="button" title="Moving Average and Prve Close calc columns.png" alt="Moving Average and Prve Close calc columns.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Jul 2019 15:14:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/748028#M2575</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-07-24T15:14:35Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated Column for previous trading day close price and previous 3 trading days avg close pri</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/748031#M2576</link>
      <description>&lt;P&gt;Here's a post I did about moving averages in measure form.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.powerbi.com/t5/Desktop/Moving-Average-Calculation/m-p/659153" target="_self"&gt;https://community.powerbi.com/t5/Desktop/Moving-Average-Calculation/m-p/659153&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Jul 2019 15:16:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculated-Column-for-previous-trading-day-close-price-and/m-p/748031#M2576</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-07-24T15:16:27Z</dc:date>
    </item>
  </channel>
</rss>

