<?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: Dynamic NPS which upgrade in time in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879317#M151441</link>
    <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="81736" data-lia-user-login="aduguid" class="lia-mention lia-mention-user"&gt;aduguid&lt;/a&gt;&amp;nbsp;but it seems the formula has a problem.&lt;/P&gt;&lt;P&gt;You have added a circular function by using NPS_Dynamic in the AVERAGEX.&amp;nbsp;&lt;BR /&gt;And this prevents the formula to run.&lt;BR /&gt;Do you have another suggestion?&lt;BR /&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Tue, 30 Apr 2024 11:38:03 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-04-30T11:38:03Z</dc:date>
    <item>
      <title>Dynamic NPS which upgrade in time</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3878239#M151417</link>
      <description>&lt;P&gt;Dear Community,&amp;nbsp;&lt;BR /&gt;I am trying to build up a graph (or a table) showing how the NPS (Net promoter score) value for a product (called DuF) changes over time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;In my dataset I have a column showing the day and one for the exact time when the feedabck was given.&lt;BR /&gt;I also have a separate column for the ratings (scala from 0 to 10).&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Methode&lt;/TD&gt;&lt;TD&gt;Produkt&lt;/TD&gt;&lt;TD&gt;day&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;rating&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;06.03.2024&lt;/TD&gt;&lt;TD&gt;20:03:28&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;12.03.2024&lt;/TD&gt;&lt;TD&gt;11:51:53&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;12.03.2024&lt;/TD&gt;&lt;TD&gt;14:21:10&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;12.03.2024&lt;/TD&gt;&lt;TD&gt;17:44:03&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;12.03.2024&lt;/TD&gt;&lt;TD&gt;18:44:44&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;13.03.2024&lt;/TD&gt;&lt;TD&gt;09:01:28&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;13.03.2024&lt;/TD&gt;&lt;TD&gt;09:05:23&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;13.03.2024&lt;/TD&gt;&lt;TD&gt;12:10:53&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;13.03.2024&lt;/TD&gt;&lt;TD&gt;00:17:32&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;08:29:17&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;10:46:58&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;12:37:09&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;13:10:36&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;16:36:43&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;17:39:22&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;14.03.2024&lt;/TD&gt;&lt;TD&gt;18:12:41&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;15.03.2024&lt;/TD&gt;&lt;TD&gt;10:24:37&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;16.03.2024&lt;/TD&gt;&lt;TD&gt;07:57:53&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;18.03.2024&lt;/TD&gt;&lt;TD&gt;10:28:30&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;18.03.2024&lt;/TD&gt;&lt;TD&gt;13:24:37&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;18.03.2024&lt;/TD&gt;&lt;TD&gt;19:30:32&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;19.03.2024&lt;/TD&gt;&lt;TD&gt;16:28:22&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;19.03.2024&lt;/TD&gt;&lt;TD&gt;18:06:51&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;20.03.2024&lt;/TD&gt;&lt;TD&gt;12:04:42&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;21.03.2024&lt;/TD&gt;&lt;TD&gt;06:10:17&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;25.03.2024&lt;/TD&gt;&lt;TD&gt;10:49:55&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;26.03.2024&lt;/TD&gt;&lt;TD&gt;17:47:35&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;27.03.2024&lt;/TD&gt;&lt;TD&gt;16:55:33&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Dynamic&lt;/TD&gt;&lt;TD&gt;DuF&lt;/TD&gt;&lt;TD&gt;30.03.2024&lt;/TD&gt;&lt;TD&gt;23:14:52&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In order to calculate the NPS I follow this simple formula: NPS = % Promoter - % Detractors.&lt;BR /&gt;Promoter are the values between 9 and 10 and detractors are the values between 0 and 7. The values between 7 and 8 are uselless (the so called "passive").&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Dax I am using is the following:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;EM&gt;NPS_Dynamic =&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR TotalPromoters =&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; CALCULATE(&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTROWS('DuF_NPS'),&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'DuF_NPS'[rating] &amp;gt;= 9 &amp;amp;&amp;amp; 'DuF_NPS'[rating] &amp;lt;= 10&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; )&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR TotalDetractors =&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; CALCULATE(&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTROWS('DuF_NPS'),&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'DuF_NPS'[rating] &amp;gt;= 0 &amp;amp;&amp;amp; 'DuF_NPS'[rating] &amp;lt;= 6&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; )&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR TotalFeedbacks = COUNTROWS('DuF_NPS')&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR PercentagePromoters = DIVIDE(TotalPromoters, TotalFeedbacks)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR PercentageDetractors = DIVIDE(TotalDetractors, TotalFeedbacks)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;VAR RawNPS = PercentagePromoters - PercentageDetractors&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;RETURN&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; IF(TotalFeedbacks &amp;gt; 0, RawNPS * 100, BLANK())&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It works fine, but as you can see from the table and the line graph, each value represents the NPS calculated on the values collected &lt;U&gt;on a single day&lt;/U&gt;. It does not update the value based on the data collected on a previous day.&lt;BR /&gt;&lt;BR /&gt;So what I need is a formula that calculates the daily NPS (if there is a new value) but output the average NPS calculated on all values collected till that point in time.&amp;nbsp;&lt;BR /&gt;For example, on day 1 I have only a value (5). In this case my NPS is -100.&lt;BR /&gt;On day 2, I have the following rates: 4, 10, 8, 5. On this day the NPS is -25.&lt;BR /&gt;But the &lt;U&gt;OVERALL NPS&lt;/U&gt; is -40 because I need to take into account also the value (5) recoded the day before.&amp;nbsp;&lt;BR /&gt;On day 3 we observe the following: 4, 0, 10, 10. Daily NPS is 0 but the average, which should be shown in the graph, is now -22.&lt;BR /&gt;&lt;BR /&gt;For the line graph I use day on X, and NPS_Dynamic on Y.&lt;BR /&gt;Any help will be greatly appreciated.&lt;BR /&gt;Thank you very much.&lt;BR /&gt;Michele&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 07:51:10 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3878239#M151417</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-04-30T07:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic NPS which upgrade in time</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879242#M151436</link>
      <description>&lt;LI-CODE lang="markup"&gt;NPS_Dynamic =
VAR TotalPromoters =
    CALCULATE(
        COUNTROWS('DuF_NPS'),
        'DuF_NPS'[rating] &amp;gt;= 9 &amp;amp;&amp;amp; 'DuF_NPS'[rating] &amp;lt;= 10
    )
VAR TotalDetractors =
    CALCULATE(
        COUNTROWS('DuF_NPS'),
        'DuF_NPS'[rating] &amp;gt;= 0 &amp;amp;&amp;amp; 'DuF_NPS'[rating] &amp;lt;= 6
    )
VAR TotalFeedbacks = COUNTROWS('DuF_NPS')
VAR PercentagePromoters = DIVIDE(TotalPromoters, TotalFeedbacks)
VAR PercentageDetractors = DIVIDE(TotalDetractors, TotalFeedbacks)
VAR RawNPS = PercentagePromoters - PercentageDetractors
VAR DailyNPS = IF(TotalFeedbacks &amp;gt; 0, RawNPS * 100, BLANK())
VAR CumulativeNPS =
    AVERAGEX(
        FILTER(
            ALL('DuF_NPS'),
            'DuF_NPS'[date] &amp;lt;= MAX('DuF_NPS'[date])
        ),
        [NPS_Dynamic]
    )
RETURN
    IF(TotalFeedbacks &amp;gt; 0, DailyNPS, CumulativeNPS)&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:20:48 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879242#M151436</guid>
      <dc:creator>aduguid</dc:creator>
      <dc:date>2024-04-30T11:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic NPS which upgrade in time</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879317#M151441</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="81736" data-lia-user-login="aduguid" class="lia-mention lia-mention-user"&gt;aduguid&lt;/a&gt;&amp;nbsp;but it seems the formula has a problem.&lt;/P&gt;&lt;P&gt;You have added a circular function by using NPS_Dynamic in the AVERAGEX.&amp;nbsp;&lt;BR /&gt;And this prevents the formula to run.&lt;BR /&gt;Do you have another suggestion?&lt;BR /&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:38:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879317#M151441</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-04-30T11:38:03Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic NPS which upgrade in time</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879333#M151442</link>
      <description>&lt;P&gt;Sorry about that. I thought I'd try to solve it on my phone. I'll give it another go tomorrow.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:41:42 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Dynamic-NPS-which-upgrade-in-time/m-p/3879333#M151442</guid>
      <dc:creator>aduguid</dc:creator>
      <dc:date>2024-04-30T11:41:42Z</dc:date>
    </item>
  </channel>
</rss>

