Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
clarkey1988
Helper II
Helper II

Calculate Percentage Change from previous Year

Hi,

 

I wonder if anyone can help me. I have the below measure which is calculating the percentage change of "Suppliers" from current month from the previous month.

 

So in 2021 January had 154 suppliers and February had 147 suppliers so the percentage change in suppliers is -5%.

 

However, instead, I need this to calculate the percentage change from the current month and year from the previous month and year.

 

So February 2021 had 147 suppliers and February 2020 had 151 suppliers. The percentage change would be -3%

 

I keep getting a column value error.

 

Please could someone help? Thanks!

 

 

clarkey1988_1-1632938533549.png

 

 

1 ACCEPTED SOLUTION
v-kelly-msft
Community Support
Community Support

Hi @clarkey1988 ,

 

First create a calendar table,then create a relationship between the 2 tables.

Create a measure as below:

Measure =
VAR _previous =
    CALCULATE ( SUM ( 'Table'[Supplier] ), DATEADD ( 'Table'[date], -1, MONTH ) )
VAR _current =
    CALCULATE (
        SUM ( 'Table'[Supplier] ),
        FILTER ( 'Table', 'Table'[date] = MAX ( 'Table'[date] ) )
    )
RETURN
    IF (
        ISINSCOPE ( 'Table'[Month] ),
        SUM ( 'Table'[Supplier] ),
        FORMAT ( DIVIDE ( _current - _previous, _previous ), "percent" )
    )

And you will see:

vkellymsft_0-1633341947083.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my reply as a solution!

View solution in original post

2 REPLIES 2
v-kelly-msft
Community Support
Community Support

Hi @clarkey1988 ,

 

First create a calendar table,then create a relationship between the 2 tables.

Create a measure as below:

Measure =
VAR _previous =
    CALCULATE ( SUM ( 'Table'[Supplier] ), DATEADD ( 'Table'[date], -1, MONTH ) )
VAR _current =
    CALCULATE (
        SUM ( 'Table'[Supplier] ),
        FILTER ( 'Table', 'Table'[date] = MAX ( 'Table'[date] ) )
    )
RETURN
    IF (
        ISINSCOPE ( 'Table'[Month] ),
        SUM ( 'Table'[Supplier] ),
        FORMAT ( DIVIDE ( _current - _previous, _previous ), "percent" )
    )

And you will see:

vkellymsft_0-1633341947083.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my reply as a solution!

lbendlin
Super User
Super User

Your formula looks a little complex.  Have you considered using SAMEPERIODLASTYEAR ()  or one of the Quick Measures?

 

I also don't see the column error you mention.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Kudoed Authors