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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Anonymous
Not applicable

Percentage Difference with a Slicer that effects the 'filtered value' only

Hi everyone,

 

I'm using PowerBI's handy quick measure 'percentage difference from filtered value'. I have 25 years worth of data, and the 'filtered value' is my benchmark year.

 

At the moment, I have to create a measure for each benchmark year - 2015, 2018, and 2020 for example. What I would like to do is allow the user to select the benchmark themselves.

 

However, when they do this, I don't want the slicer to impact any other visuals on the page.

 

For example: My measures shows the percentage difference between the year 2025 and the benchmark year 2015. I want the user to be able to change the benchmark year from 2015 to say 2018. However, when I try to create slicers to do this, it also changes the year 2025 to 2018 - thereby giving my a value of 0. I want 2025 to stay the same, only the benchmark year to change.

 

Here is an example of how the data is laid out (repeated for 10 years' worth of data, where entries in the changing value): 

(To note: I have also tried adding a two year columns, and creating a new table with a year column, to try and filter using only that slicer, but the result is still the same for some reason). 

 

CodeCourseApplicants (3years)Feeder NumberBenchmark YearEntry TypeEntries
G7AI1 2025Entries200
G7AI1 2025At Tariff300
G7AI1 2025PEAT400
G7AI1 2025PE200
G7AI1 2025Entries150
G7AI1 2025At Tariff350
G7AI1 2025PEAT2650
G7AI1 2025PE31
G7AI1 2025Entries56
G7AI1 2025At Tariff230
G7AI1 2025PEAT156
G7AI1 2025PE13
G4CS1 2025Entries12
G4CS1 2025At Tariff515
G4CS1 2025PEAT89
G4CS1 2025PE1500
H6CS1 2025Entries600
H6CS1 2025At Tariff200
H6CS1 2025PEAT300
H6CS1 2025PE100
H6CS1 2025Entries100
H6CS1 2025At Tariff100
H6CS1 2025PEAT200
H6CS1 2025PE250
G7AI1 2018Entries250
G7AI1 2018At Tariff350
G7AI1 2018PEAT450
G7AI1 2018PE250
G7AI1 2018Entries200
G7AI1 2018At Tariff400
G7AI1 2018PEAT2700
G7AI1 2018PE81
G7AI1 2018Entries106
G7AI1 2018At Tariff280
G7AI1 2018PEAT206
G7AI1 2018PE63
G4CS1 2018Entries62
G4CS1 2018At Tariff565
G4CS1 2018PEAT139
G4CS1 2018PE1550
H6CS1 2018Entries650
H6CS1 2018At Tariff250
H6CS1 2018PEAT350
H6CS1 2018PE150
H6CS1 2018Entries150
H6CS1 2018At Tariff150
H6CS1 2018PEAT250
H6CS1 2018PE300

 

The measure I'm currently using:

 

Entries % difference from 2015 = 

VAR __BASELINE_VALUE =

    CALCULATE(

        SUM('Unpivoted Bubble Chart Master'[Entries]),

        'Unpivoted Bubble Chart Master'[Benchmark Year] IN { 2018 }

    )

VAR __MEASURE_VALUE = SUM('Unpivoted Bubble Chart Master'[Entries])

RETURN

    IF(

        NOT ISBLANK(__MEASURE_VALUE),

        DIVIDE(__MEASURE_VALUE - __BASELINE_VALUE, __BASELINE_VALUE)

    )


And I have one measure per benchmark year I have. The aim is to create a table with all ten years as the columns, with the calculated percent change, and a slicer that only changes the benchmark year in my measure. 

 

I am wondering if this is just something simple I am missing, or if I need to look at creating a more complex model (happy to share if anyone thinks that is the case). Or if there's something I can place in the data table itself to get this working. 

 

Thanks!

1 ACCEPTED SOLUTION
v-yingjl
Community Support
Community Support

Hi @Anonymous ,

For this case, you can modify your measure like this:

 

Entries % difference from 2015 =

VAR __BASELINE_VALUE =

    CALCULATE (

        SUM ( 'Unpivoted Bubble Chart Master'[Entries] ),

        FILTER (

            ALL ( 'Unpivoted Bubble Chart Master'[Benchmark Year] ),

            'Unpivoted Bubble Chart Master'[Benchmark Year]

                IN {

                2018

            }

        )

    )

VAR __MEASURE_VALUE =

    SUM ( 'Unpivoted Bubble Chart Master'[Entries] )

RETURN

    IF (

        NOT ISBLANK ( __MEASURE_VALUE ),

        DIVIDE (

            __MEASURE_VALUE - __BASELINE_VALUE,

            __BASELINE_VALUE

        )

    )

 

You will get the following result by sample data:

percentage.png

 

Here is the demo , please try it:

PBIX 

 

Best Regards,

Yingjie Li

 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-yingjl
Community Support
Community Support

Hi @Anonymous ,

For this case, you can modify your measure like this:

 

Entries % difference from 2015 =

VAR __BASELINE_VALUE =

    CALCULATE (

        SUM ( 'Unpivoted Bubble Chart Master'[Entries] ),

        FILTER (

            ALL ( 'Unpivoted Bubble Chart Master'[Benchmark Year] ),

            'Unpivoted Bubble Chart Master'[Benchmark Year]

                IN {

                2018

            }

        )

    )

VAR __MEASURE_VALUE =

    SUM ( 'Unpivoted Bubble Chart Master'[Entries] )

RETURN

    IF (

        NOT ISBLANK ( __MEASURE_VALUE ),

        DIVIDE (

            __MEASURE_VALUE - __BASELINE_VALUE,

            __BASELINE_VALUE

        )

    )

 

You will get the following result by sample data:

percentage.png

 

Here is the demo , please try it:

PBIX 

 

Best Regards,

Yingjie Li

 

If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

parry2k
Super User
Super User

@Anonymous it should be pretty straight forward. Create a table with all the benchmark year (unique year) and this table shouldn't have relationship with any other table. Use year from this table on the slicer and in your measure, use selected year  from this table instead of fixed value of 201as shown in your measure. Hope it helps.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Anonymous
Not applicable

Thanks for the suggestion, unfortunately it didn't work. Even without a relationship between the tables I'm coming up with values like 95.5% which isn't correct.

 

There may be a few points I missed: The percentage difference is between entries for each course, for each entry type. At the moment, a slicer is used to pick the entry type and which year you would like to see calculated from the benchmark year. So I think a relationship between the tables might be required (or I would need to duplicate a slicer for all of the variables twice for both tables and hope the user clicks on the correct ones).

 

 

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.