Forum Discussion
YoY Growth % DAX Formula
I need help with creating a YoY growth rate for the table below. Below I have also provide my YTD reduction formula.
Hi Trying2Excel , Thank you for reaching out to the Microsoft Community Forum.
Try below:
YoY Growth Rate =
VAR _currentYear = SELECTEDVALUE('Historical Reductions Table'[End of Month].[Year])
VAR _previousYear = _currentYear - 1
VAR _currentMonth = MONTH(MAX('Historical Reductions Table'[End of Month]))
VAR _currentYearReduction =
CALCULATE(
SUM('Historical Reductions Table'[Reduction2]),
FILTER(
ALLSELECTED('Historical Reductions Table'),
YEAR('Historical Reductions Table'[End of Month]) = _currentYear
&& MONTH('Historical Reductions Table'[End of Month]) <= _currentMonth
)
)
VAR _previousYearReduction =
CALCULATE(
SUM('Historical Reductions Table'[Reduction2]),
FILTER(
ALLSELECTED('Historical Reductions Table'),
YEAR('Historical Reductions Table'[End of Month]) = _previousYear
&& MONTH('Historical Reductions Table'[End of Month]) <= _currentMonth
)
)
RETURN
IF(
ISBLANK(_previousYearReduction) || _previousYearReduction = 0,
BLANK(),
DIVIDE(_currentYearReduction - _previousYearReduction, _previousYearReduction)
)
If your End of Month column has a date hierarchy, you can replace YEAR('Historical Reductions Table'[End of Month]) with 'Historical Reductions Table'[End of Month].[Year]' and similarly for MONTH
If this helped solve the issue, please consider marking it 'Accept as Solution' so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.
5 Replies
- Pow3RangeFrequent Visitor
YoY Growth % =
VAR _currentYear =
YEAR ( MAX ( 'Historical Reductions Table'[End of Month] ) )
VAR _currentMonth =
MONTH ( MAX ( 'Historical Reductions Table'[End of Month] ) )VAR _currentYTD =
CALCULATE (
SUM ( 'Historical Reductions Table'[Reduction2] ),
FILTER (
ALLSELECTED ( 'Historical Reductions Table' ),
YEAR ( 'Historical Reductions Table'[End of Month] ) = _currentYear
&& MONTH ( 'Historical Reductions Table'[End of Month] ) <= _currentMonth
)
)VAR _previousYTD =
CALCULATE (
SUM ( 'Historical Reductions Table'[Reduction2] ),
FILTER (
ALLSELECTED ( 'Historical Reductions Table' ),
YEAR ( 'Historical Reductions Table'[End of Month] ) = _currentYear - 1
&& MONTH ( 'Historical Reductions Table'[End of Month] ) <= _currentMonth
)
)RETURN
IF (
NOT ISBLANK(_previousYTD),
(_currentYTD - _previousYTD) / _previousYTD,
BLANK()
)
Modified your DAX Can you try this one Trying2Excel || And if possible can you share your PBIX File?
If this solution helps, please accept it and give a kudos, it would be greatly appreciated.- Trying2Excel
Helper I
Thank you for the quick response! The formula provided doesnt seem to be recognizing the year in the table.
- Pow3RangeFrequent Visitor
Trying2Excel -- Can You share the PBIX file if possible
- v-hashadapu
Community Support
Hi Trying2Excel , Thank you for reaching out to the Microsoft Community Forum.
Try below:
YoY Growth Rate =
VAR _currentYear = SELECTEDVALUE('Historical Reductions Table'[End of Month].[Year])
VAR _previousYear = _currentYear - 1
VAR _currentMonth = MONTH(MAX('Historical Reductions Table'[End of Month]))
VAR _currentYearReduction =
CALCULATE(
SUM('Historical Reductions Table'[Reduction2]),
FILTER(
ALLSELECTED('Historical Reductions Table'),
YEAR('Historical Reductions Table'[End of Month]) = _currentYear
&& MONTH('Historical Reductions Table'[End of Month]) <= _currentMonth
)
)
VAR _previousYearReduction =
CALCULATE(
SUM('Historical Reductions Table'[Reduction2]),
FILTER(
ALLSELECTED('Historical Reductions Table'),
YEAR('Historical Reductions Table'[End of Month]) = _previousYear
&& MONTH('Historical Reductions Table'[End of Month]) <= _currentMonth
)
)
RETURN
IF(
ISBLANK(_previousYearReduction) || _previousYearReduction = 0,
BLANK(),
DIVIDE(_currentYearReduction - _previousYearReduction, _previousYearReduction)
)
If your End of Month column has a date hierarchy, you can replace YEAR('Historical Reductions Table'[End of Month]) with 'Historical Reductions Table'[End of Month].[Year]' and similarly for MONTH
If this helped solve the issue, please consider marking it 'Accept as Solution' so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.- Trying2Excel
Helper I
Thank you so much for your help!