<?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 Calculation of Survival Rates in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2824243#M89736</link>
    <description>&lt;P&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am relatively new to DAX and have a problem that is causing me trouble.&amp;nbsp; This is not the actual scenario for confidentiality reasons.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;I need to calculate the [Survival_Rate].&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;We are a nursery that plants a number of plants each month.&amp;nbsp; And each month there are a number of plants that die.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I need to calculate [Survival_Rate] over a period of 30 months (could be days, months or years, this is purely an index column).&amp;nbsp; The [Survival_Rate] is for each month what percentage are still alive.&amp;nbsp; For example at Month 20 there are&amp;nbsp; 250 plants alive and 20 died.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;The [Plant Death Rate] is calculated by [Number Plants Died]/[Number of Plants Planted]&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Survival_Rate is to be calculated as follows:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;The [Survival_Rate] for the [RowIndex] = 0&amp;nbsp; is 100&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;For [RowIndex] = 1, it is 100*(1-[PlantDeathRate] from RowIndex=0)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;For [RowIndex] = 2, it is&amp;nbsp; [Result From RowIndex = 1 above) * (1-[PlantDeathRate from RowIndex = 1])&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The table below has some sample data with the correct calculations.&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;RowIndex&lt;/TD&gt;&lt;TD&gt;Number of Plants Planted&lt;/TD&gt;&lt;TD&gt;Number of Plants Died&lt;/TD&gt;&lt;TD&gt;Plant Death Rate&lt;/TD&gt;&lt;TD&gt;Survival Rates&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;9.9%&lt;/TD&gt;&lt;TD&gt;100.0%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;314&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;8.0&lt;/TD&gt;&lt;TD&gt;90.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;290&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2.1&lt;/TD&gt;&lt;TD&gt;82.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;4.0&lt;/TD&gt;&lt;TD&gt;81.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;4.3&lt;/TD&gt;&lt;TD&gt;78&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;292&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;2.4&lt;/TD&gt;&lt;TD&gt;74.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;254&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;11.0&lt;/TD&gt;&lt;TD&gt;72.8&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your help.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 07 Oct 2022 02:06:04 GMT</pubDate>
    <dc:creator>khesan99</dc:creator>
    <dc:date>2022-10-07T02:06:04Z</dc:date>
    <item>
      <title>DAX Calculation of Survival Rates</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2824243#M89736</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am relatively new to DAX and have a problem that is causing me trouble.&amp;nbsp; This is not the actual scenario for confidentiality reasons.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;I need to calculate the [Survival_Rate].&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;We are a nursery that plants a number of plants each month.&amp;nbsp; And each month there are a number of plants that die.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I need to calculate [Survival_Rate] over a period of 30 months (could be days, months or years, this is purely an index column).&amp;nbsp; The [Survival_Rate] is for each month what percentage are still alive.&amp;nbsp; For example at Month 20 there are&amp;nbsp; 250 plants alive and 20 died.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;The [Plant Death Rate] is calculated by [Number Plants Died]/[Number of Plants Planted]&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Survival_Rate is to be calculated as follows:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;The [Survival_Rate] for the [RowIndex] = 0&amp;nbsp; is 100&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;For [RowIndex] = 1, it is 100*(1-[PlantDeathRate] from RowIndex=0)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;For [RowIndex] = 2, it is&amp;nbsp; [Result From RowIndex = 1 above) * (1-[PlantDeathRate from RowIndex = 1])&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The table below has some sample data with the correct calculations.&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;RowIndex&lt;/TD&gt;&lt;TD&gt;Number of Plants Planted&lt;/TD&gt;&lt;TD&gt;Number of Plants Died&lt;/TD&gt;&lt;TD&gt;Plant Death Rate&lt;/TD&gt;&lt;TD&gt;Survival Rates&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;282&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;9.9%&lt;/TD&gt;&lt;TD&gt;100.0%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;314&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;8.0&lt;/TD&gt;&lt;TD&gt;90.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;290&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2.1&lt;/TD&gt;&lt;TD&gt;82.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;4.0&lt;/TD&gt;&lt;TD&gt;81.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;4.3&lt;/TD&gt;&lt;TD&gt;78&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;292&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;2.4&lt;/TD&gt;&lt;TD&gt;74.6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;254&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;11.0&lt;/TD&gt;&lt;TD&gt;72.8&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your help.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Oct 2022 02:06:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2824243#M89736</guid>
      <dc:creator>khesan99</dc:creator>
      <dc:date>2022-10-07T02:06:04Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculation of Survival Rates</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2826852#M89890</link>
      <description>&lt;P&gt;DAX is not necessarily the right tool for that, although you can use PRODUCTX to some extent.&amp;nbsp; Better to do this in Power Query,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;let
  Source = Table.FromRows(
    Json.Document(
      Binary.Decompress(
        Binary.FromText(
          "LY3JEcAwCAN74e2HOewktTDuv41EO/lo0CJBt00bFnegdkabf2N6CSwAu0e5jU8FptQDUAAFPAGLhnoXfnOs/h/nBQ==",
          BinaryEncoding.Base64
        ),
        Compression.Deflate
      )
    ),
    let
      _t = ((type nullable text) meta [Serialized.Text = true])
    in
      type table [RowIndex = _t, #"Number of Plants Planted" = _t, #"Number of Plants Died" = _t]
  ),
  #"Changed Type" = Table.TransformColumnTypes(
    Source,
    {
      {"RowIndex", Int64.Type},
      {"Number of Plants Planted", Int64.Type},
      {"Number of Plants Died", Int64.Type}
    }
  ),
  #"Added Custom" = Table.AddColumn(
    #"Changed Type",
    "Plant Death Rate",
    each [Number of Plants Died] / [Number of Plants Planted],
    type number
  ),
  #"Added Custom1" = Table.AddColumn(
    #"Added Custom",
    "Survival Rate",
    each List.Accumulate(
      {0 .. [RowIndex]},
      100,
      (state, current) =&amp;gt;
        if current = 0 then state else state * (1 - #"Added Custom"[Plant Death Rate]{current - 1})
    ),
    type number
  )
in
  #"Added Custom1"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How to use this code: Create a new Blank Query. Click on "Advanced Editor". Replace the code in the window with the code provided here. Click "Done".&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;</description>
      <pubDate>Fri, 07 Oct 2022 23:11:07 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2826852#M89890</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2022-10-07T23:11:07Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculation of Survival Rates</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2826944#M89906</link>
      <description>&lt;P&gt;wow, thanks Iblendin, this is awesome !&amp;nbsp; Sincere thanks also to pointing out that DAX was not the best idea.&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 03:57:25 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculation-of-Survival-Rates/m-p/2826944#M89906</guid>
      <dc:creator>khesan99</dc:creator>
      <dc:date>2022-10-08T03:57:25Z</dc:date>
    </item>
  </channel>
</rss>

