<?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: Alternative for AverageX in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182349#M18486</link>
    <description>&lt;P&gt;what do the code for&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;[(Cumulative) Closing Balance] &amp;amp; [(Cumulative) Opening Balance]&amp;nbsp;look like?&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 25 Jun 2020 12:24:56 GMT</pubDate>
    <dc:creator>sturlaws</dc:creator>
    <dc:date>2020-06-25T12:24:56Z</dc:date>
    <item>
      <title>Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1175315#M18246</link>
      <description>&lt;P&gt;Hi, I have following working dax code. Since the data volume is high, it runs slow and gives memory error when filtered to lowest level. Is there a better alternative to using @AverageX?&lt;/P&gt;&lt;P&gt;The code is:&lt;/P&gt;&lt;P&gt;Average Balance (Period) = AVERAGEX( filter ( ALLSELECTED('Date'[Date])|and('Date'[Date]&amp;gt;=min('Date'[Date])|'Date'[Date] &amp;lt;= max ('Date'[Date])))| [Daily Average Balance] )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where,&lt;/P&gt;&lt;P&gt;Daily Average Balance = if (ISBLANK([(Cumulative) Opening Balance])| [(Cumulative) Closing Balance]| ([(Cumulative) Closing Balance]+[(Cumulative) Opening Balance])/2 )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Since [Daily Average Balance], [(Cumulative) Closing Balance] &amp;amp; [(Cumulative) Opening Balance] all are measures, I am unable to use Average function.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;Shailee.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jun 2020 06:59:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1175315#M18246</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-06-23T06:59:59Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1175435#M18250</link>
      <description>&lt;P&gt;Hi&amp;nbsp;Anonymous&lt;/LI-USER&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;could you try to rewrite the code to this:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Average Balance (Period) =
AVERAGEX (
    values(account number),
    [Daily Average Balance]
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The idea is that the daily average balance has to be computed for each account number, and after that compute the average balance for all accounts. There is no need to include any time handling in the expression, it will be evaluated in the context from the report. E.g. if the report has a month slicer and April is selected, then the measure will calculate the average balance of April&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR /&gt;Sturla&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jun 2020 07:57:25 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1175435#M18250</guid>
      <dc:creator>sturlaws</dc:creator>
      <dc:date>2020-06-23T07:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1176293#M18269</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="88633" data-lia-user-login="sturlaws" class="lia-mention lia-mention-user"&gt;sturlaws&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Though your suggestion improves the performance, but it does not yield the desired results. It does not consider the dates when there was no transaction for a particular Accound Code. Also I have multiple hierarchy levels for Account code, and report can be drawn at any level.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jun 2020 11:30:44 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1176293#M18269</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-06-23T11:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1176454#M18277</link>
      <description>&lt;P&gt;hm,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;not sure if this will yield any better performance:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Average Balance (Period) =
VAR _minDate =
    MIN ( 'Date'[Date] )
VAR _maxDate =
    MAX ( 'Date'[Date] )
RETURN
    AVERAGEX (
        FILTER ( ALL ( 'Date' ), 'Date'[Date] &amp;gt;= _minDate &amp;amp;&amp;amp; 'Date'[Date] &amp;lt;= _maxDate ),
        [Daily Average Balance]
    )
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you provide some sample data it will be easier to help you&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jun 2020 12:37:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1176454#M18277</guid>
      <dc:creator>sturlaws</dc:creator>
      <dc:date>2020-06-23T12:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182184#M18472</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="88633" data-lia-user-login="sturlaws" class="lia-mention lia-mention-user"&gt;sturlaws&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There was not a major performance improvement with your last suggestion.&lt;/P&gt;&lt;P&gt;Following is relevant sample dataset-&lt;/P&gt;&lt;P&gt;This is the Accounting table on which Average Balance (rolling) needs to be calculated on [Daily Average Balance], which is a measure based on Home_Currency_Amount, Debit_Credit, and related Date and GL Master tables. This measure works perfectly fine separately.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;source_system_code&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;entity_code&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;effective_date&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;posted_date&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;SubLob_Code&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;GL_code&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;home_currency_amount&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;debit_credit&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;181&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;183&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;727104&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;213&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DR&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G41&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;733102&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1269.82&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DR&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;101&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G41&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;733102&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006.5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;CR&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;181&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;04/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E92&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;734113&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;303&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;CR&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;181&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;05/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;05/01/2020&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;183&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;727102&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;66&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;DR&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Accounting table is linked to a Date Table through Effective Date and following GL Master table (linked through SourceSystemCode + GL Code):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Source_System_Code&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;GL_CODE_DESCRIPTION&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;GL Code Level 1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;GL Code Level 2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;GL Level 3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;ACCOUNT_TYPE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;IMB01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;KRISHNA PRATAP SINGH&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;KRISHNA PRATAP SINGH&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Trade payables to non-related parties&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Financial Liability&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Liability&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Prepayment Migration A/c&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Prepayment Migration A/c&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Control Accounts&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Non Financial Assets&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Assets&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ORA01&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Salaries and wages - Sharing&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Salaries and wages - Sharing&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Salaries and wages - Sharing&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Employee Benefit Expenses&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Expenses&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot for your help!&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jun 2020 11:17:40 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182184#M18472</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-06-25T11:17:40Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182349#M18486</link>
      <description>&lt;P&gt;what do the code for&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;[(Cumulative) Closing Balance] &amp;amp; [(Cumulative) Opening Balance]&amp;nbsp;look like?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jun 2020 12:24:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182349#M18486</guid>
      <dc:creator>sturlaws</dc:creator>
      <dc:date>2020-06-25T12:24:56Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182395#M18489</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="88633" data-lia-user-login="sturlaws" class="lia-mention lia-mention-user"&gt;sturlaws&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Cumulative) Closing Balance =&lt;BR /&gt;CALCULATE([Closing Balance]|&lt;BR /&gt;filter ( ALL('Date'[Date])|'Date'[Date] &amp;lt;= max ('Date'[Date]))&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;(Cumulative) Opening Balance =&lt;BR /&gt;CALCULATE([Closing Balance]|&lt;BR /&gt;filter ( ALL('Date'[Date])|'Date'[Date] &amp;lt;= (max ('Date'[Date])-1))&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where Closing Balance =&lt;/P&gt;&lt;P&gt;Var Amount = Sum(Accounting[Home_Currency_Amount]))&lt;/P&gt;&lt;P&gt;Var Debit_Amt =&amp;nbsp;CALCULATE([Amount],Accounting[Debit_Credit]="DR")&lt;/P&gt;&lt;P&gt;Var Credit_Amt =&amp;nbsp;CALCULATE([Amount],Accounting[Debit_Credit]="CR")&lt;/P&gt;&lt;P&gt;Return&lt;/P&gt;&lt;P&gt;Debit_Amt - Credit_Amt&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jun 2020 12:42:50 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1182395#M18489</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-06-25T12:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative for AverageX</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1183506#M18548</link>
      <description>&lt;P&gt;hmm,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;so the way the opening and closing balance is calculated, is to sum up all prior transactions. So if a report user is trying to see the average daily balance for a month, using averagex, this process is repeated for each day. And if the report is drilled down to&amp;nbsp;&lt;SPAN&gt;GL Code Level 1, the number of calculations is multiplied with number of&amp;nbsp;GL Code Level 1 visible in the visual. With a table with small number of rows it will work. With a table with a high number of rows, it will be slow and you might run out of memory.&lt;BR /&gt;&lt;BR /&gt;I think you will have to create a table containing the opening and closing balance for each account for each day in order to imrpove the query speed.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jun 2020 22:40:58 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Alternative-for-AverageX/m-p/1183506#M18548</guid>
      <dc:creator>sturlaws</dc:creator>
      <dc:date>2020-06-25T22:40:58Z</dc:date>
    </item>
  </channel>
</rss>

