<?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: Calculating the % above/below the YTD average in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4380484#M173887</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="473124" data-lia-user-login="chillpill" class="lia-mention lia-mention-user"&gt;chillpill&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using a properly configured calendar table for time intelligence calculations is a best practice in Power BI. A calendar table allows DAX functions to leverage built-in time intelligence features, making calculations more robust, reusable, and efficient.&lt;/P&gt;
&lt;P&gt;To compute the percentage change compared to the YTD average using a calendar table, follow these steps. First, ensure your data model includes a dedicated calendar table with a continuous date range and relationships set up between the calendar table's date column and the fact table's date column. If you don't have a calendar table yet, you can create one using the following DAX formula:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Calendar =
ADDCOLUMNS(
    CALENDAR(MIN('Table'[Week Of]), MAX('Table'[Week Of])),
    "Year", YEAR([Date]),
    "Month", FORMAT([Date], "MMMM"),
    "WeekNum", WEEKNUM([Date], 2),
    "WeekStart", [Date] - WEEKDAY([Date], 2) + 1
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once the calendar table is in place, create measures to calculate the required values. Start with the YTD total for the selected weeks:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;YTD Volume =
CALCULATE(
    SUM('Table'[Volume]),
    DATESYTD('Calendar'[Date])
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next, calculate the YTD average by dividing the YTD volume by the number of weeks in the YTD period. Use the following measure:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;YTD Average Volume =
DIVIDE(
    [YTD Volume],
    COUNTROWS(
        DATESYTD('Calendar'[Date])
    ),
    0
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To calculate the percentage change from the YTD average, compare the current week's volume against the calculated YTD average. Use this DAX formula:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;% Change from YTD Average =
VAR CurrentVolume = SUM('Table'[Volume])
VAR AvgVolume = [YTD Average Volume]
RETURN
IF(
    NOT ISBLANK(AvgVolume),
    DIVIDE(CurrentVolume - AvgVolume, AvgVolume, 0),
    BLANK()
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For better readability, you can format the percentage change as follows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;% Change from YTD Average (Formatted) =
VAR Change = [% Change from YTD Average]
RETURN
IF(
    NOT ISBLANK(Change),
    FORMAT(Change, "0.0%") &amp;amp;
    IF(Change &amp;gt; 0, " above YTD average", " below YTD average"),
    "-"
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By using a calendar table, the DAX measures leverage time intelligence functions like DATESYTD, which are optimized for date-based calculations. This approach is more scalable and ensures accurate results across various date ranges or filters. Moreover, a calendar table supports consistent time-based slicing and dicing, making your Power BI model more flexible and reliable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;</description>
    <pubDate>Sat, 25 Jan 2025 01:15:29 GMT</pubDate>
    <dc:creator>DataNinja777</dc:creator>
    <dc:date>2025-01-25T01:15:29Z</dc:date>
    <item>
      <title>Calculating the % above/below the YTD average</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4380354#M173882</link>
      <description>&lt;P&gt;I have a table with a number of teams who produce a certain volume each week. What I am trying to do is create a measure that tells me the summed value for the selected weeks on a date slicer and what % above or below that summed value is compared to the YTD average. This is also divided by team.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, I have the week 1/13-1/17 selected on the slicer and the total volume it provides is 1095. What % above/below was 1095 compared to the total YTD average of the weeks prior? Would this be a running average? I can do this in excel fairly easily but having trouble formulating it in DAX.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Team&lt;/TD&gt;&lt;TD&gt;Week Of&lt;/TD&gt;&lt;TD&gt;WeekNum&lt;/TD&gt;&lt;TD&gt;Volume&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/06/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;2&lt;/TD&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/13/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;3&lt;/TD&gt;&lt;TD&gt;1095&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/20/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;4&lt;/TD&gt;&lt;TD&gt;1120&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/06/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;2&lt;/TD&gt;&lt;TD&gt;389&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/13/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;3&lt;/TD&gt;&lt;TD&gt;312&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/20/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;4&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expected result (or similar):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Team&lt;/TD&gt;&lt;TD&gt;Week Of&lt;/TD&gt;&lt;TD&gt;WeekNum&lt;/TD&gt;&lt;TD&gt;Volume&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; % inc/dec from avg of prev weeks&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/06/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;2&lt;/TD&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;TD&gt;-&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/13/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;3&lt;/TD&gt;&lt;TD&gt;1095&lt;/TD&gt;&lt;TD&gt;4.3% above YTD average&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 1&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/20/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;4&lt;/TD&gt;&lt;TD&gt;1120&lt;/TD&gt;&lt;TD&gt;4.3% above YTD average&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/06/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;2&lt;/TD&gt;&lt;TD&gt;389&lt;/TD&gt;&lt;TD&gt;-&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/13/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;3&lt;/TD&gt;&lt;TD&gt;312&lt;/TD&gt;&lt;TD&gt;-11% below YTD average&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Team 2&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;01/20/2025&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;4&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;-.08% below YTD average&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 24 Jan 2025 20:28:36 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4380354#M173882</guid>
      <dc:creator>chillpill</dc:creator>
      <dc:date>2025-01-24T20:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating the % above/below the YTD average</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4380484#M173887</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="473124" data-lia-user-login="chillpill" class="lia-mention lia-mention-user"&gt;chillpill&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using a properly configured calendar table for time intelligence calculations is a best practice in Power BI. A calendar table allows DAX functions to leverage built-in time intelligence features, making calculations more robust, reusable, and efficient.&lt;/P&gt;
&lt;P&gt;To compute the percentage change compared to the YTD average using a calendar table, follow these steps. First, ensure your data model includes a dedicated calendar table with a continuous date range and relationships set up between the calendar table's date column and the fact table's date column. If you don't have a calendar table yet, you can create one using the following DAX formula:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Calendar =
ADDCOLUMNS(
    CALENDAR(MIN('Table'[Week Of]), MAX('Table'[Week Of])),
    "Year", YEAR([Date]),
    "Month", FORMAT([Date], "MMMM"),
    "WeekNum", WEEKNUM([Date], 2),
    "WeekStart", [Date] - WEEKDAY([Date], 2) + 1
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once the calendar table is in place, create measures to calculate the required values. Start with the YTD total for the selected weeks:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;YTD Volume =
CALCULATE(
    SUM('Table'[Volume]),
    DATESYTD('Calendar'[Date])
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next, calculate the YTD average by dividing the YTD volume by the number of weeks in the YTD period. Use the following measure:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;YTD Average Volume =
DIVIDE(
    [YTD Volume],
    COUNTROWS(
        DATESYTD('Calendar'[Date])
    ),
    0
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To calculate the percentage change from the YTD average, compare the current week's volume against the calculated YTD average. Use this DAX formula:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;% Change from YTD Average =
VAR CurrentVolume = SUM('Table'[Volume])
VAR AvgVolume = [YTD Average Volume]
RETURN
IF(
    NOT ISBLANK(AvgVolume),
    DIVIDE(CurrentVolume - AvgVolume, AvgVolume, 0),
    BLANK()
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For better readability, you can format the percentage change as follows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;% Change from YTD Average (Formatted) =
VAR Change = [% Change from YTD Average]
RETURN
IF(
    NOT ISBLANK(Change),
    FORMAT(Change, "0.0%") &amp;amp;
    IF(Change &amp;gt; 0, " above YTD average", " below YTD average"),
    "-"
)
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By using a calendar table, the DAX measures leverage time intelligence functions like DATESYTD, which are optimized for date-based calculations. This approach is more scalable and ensures accurate results across various date ranges or filters. Moreover, a calendar table supports consistent time-based slicing and dicing, making your Power BI model more flexible and reliable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;</description>
      <pubDate>Sat, 25 Jan 2025 01:15:29 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4380484#M173887</guid>
      <dc:creator>DataNinja777</dc:creator>
      <dc:date>2025-01-25T01:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating the % above/below the YTD average</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4381629#M173945</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for the solution&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="608865" data-lia-user-login="DataNinja777" class="lia-mention lia-mention-user"&gt;DataNinja777&lt;/a&gt;&amp;nbsp; offered, and i want to offer some more information for user to refer to.&lt;/P&gt;
&lt;P&gt;hello&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="473124" data-lia-user-login="chillpill" class="lia-mention lia-mention-user"&gt;chillpill&lt;/a&gt;&amp;nbsp;, you can refer to the following solution.&lt;/P&gt;
&lt;P&gt;Sample data&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;Create a calendar table.(1:n with data table)&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Calendar = CALENDAR(DATE(2024,1,1),TODAY())&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;Then create a measure&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;MEASURE =
VAR a =
    CALCULATE (
        AVERAGE ( 'Table'[Volume] ),
        'Table'[Week Of] &amp;lt;= MAX ( [Week Of] ),
        'Table'[Week Of] &amp;gt;= DATE ( YEAR ( MAX ( [Week Of] ) ), 1, 1 ),
        ALLEXCEPT ( 'Table', 'Table'[Team] )
    )
VAR b =
    DIVIDE ( CALCULATE ( SUM ( 'Table'[Volume] ) ) - a, a )
VAR c =
    FORMAT ( b, "percent" )
RETURN
    SWITCH (
        TRUE (),
        b &amp;gt; 0, c &amp;amp; " above YTD average",
        b = 0, "-",
        b &amp;lt; 0, c &amp;amp; " below YTD average"
    )
&lt;/LI-CODE&gt;
&lt;P&gt;Then create a table visual.&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;
&lt;P&gt;Output&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards!&lt;/P&gt;
&lt;P&gt;Yolo Zhu&lt;/P&gt;
&lt;P&gt;If this post&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;helps&lt;/EM&gt;&lt;/STRONG&gt;, then please consider&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;Accept it as the solution&lt;/EM&gt;&lt;/STRONG&gt;&amp;nbsp;to help the other members find it more quickly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2025 03:41:25 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4381629#M173945</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2025-01-27T03:41:25Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating the % above/below the YTD average</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4388717#M174224</link>
      <description>&lt;P&gt;Thank you for this!&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 19:14:15 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Calculating-the-above-below-the-YTD-average/m-p/4388717#M174224</guid>
      <dc:creator>chillpill</dc:creator>
      <dc:date>2025-01-30T19:14:15Z</dc:date>
    </item>
  </channel>
</rss>

