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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
batmit25
Frequent Visitor

Difference in Ranks over different years

Hi everyone, 

 

I'm trying to work on a Country Ranking Report and to write a DAX Measure which would help me to see what the Difference in Rank of a Country is from it's rank in the previous year.

 

Sample Data 

CountryRank Year
A12017
B22017
C32017
B12018
A22018
C32018
B12019
C22019
A32019

 

Wanted Result 

slicer selection : year 2018 

 

CountryRankYearDifference From Prev Year 
B12018+1
A22018-1
C320180

 

Also there are some countries in the dataset that are ranked in a particular year but maybe not in the year before or next so hence there's no record of that country alongside those years after or before. If possible would there be a way to show that Country's Rank difference as [N.R] in that particular case.

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

 

Jihwan_Kim_1-1701499096228.png

 

 

Jihwan_Kim_0-1701499064479.png

 

Rank measure: = 
IF( HASONEVALUE(country_dim[Country]), MAX(rank_fct[Rank]))

 

 

Diff from prev year measure: = 
VAR _prevyear =
    MAX ( year_dim[Year] ) - 1
VAR _prevyearrank =
    CALCULATE ( [Rank measure:], year_dim[Year] = _prevyear )
RETURN
    IF (
        NOT ISBLANK ( [Rank measure:] ) && NOT ISBLANK ( _prevyearrank ),
        SWITCH (
            TRUE (),
            [Rank measure:] > _prevyearrank,
                "+ " & [Rank measure:] - _prevyearrank,
            [Rank measure:] < _prevyearrank,
                "- " & _prevyearrank - [Rank measure:],
            "0"
        ),
        "NR"
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

View solution in original post

2 REPLIES 2
batmit25
Frequent Visitor

It worked! Thank you so much. 

Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

 

Jihwan_Kim_1-1701499096228.png

 

 

Jihwan_Kim_0-1701499064479.png

 

Rank measure: = 
IF( HASONEVALUE(country_dim[Country]), MAX(rank_fct[Rank]))

 

 

Diff from prev year measure: = 
VAR _prevyear =
    MAX ( year_dim[Year] ) - 1
VAR _prevyearrank =
    CALCULATE ( [Rank measure:], year_dim[Year] = _prevyear )
RETURN
    IF (
        NOT ISBLANK ( [Rank measure:] ) && NOT ISBLANK ( _prevyearrank ),
        SWITCH (
            TRUE (),
            [Rank measure:] > _prevyearrank,
                "+ " & [Rank measure:] - _prevyearrank,
            [Rank measure:] < _prevyearrank,
                "- " & _prevyearrank - [Rank measure:],
            "0"
        ),
        "NR"
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

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!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.