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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
kmo
Regular Visitor

Normalize row based on another row's value

Hi,

 

I have a time series table like this one, and what I want to do is calculate a normalized Rating based on the relevant Rating for each Team and Rating_Type in year 1. To be clear, I mean I want to divide Rating by the year 1 value of Rating for each Year, Team, and Rating_type.

 

TeamYearRating_TypeRating
A1Happiness5
A1Quality4.5
A2Happiness5
A2Quality5
B1Happiness4.5
B1Quality5
B2Happiness4.5
B2Quality5
C1Happiness4
C1Quality5
C2Happiness3
C2Quality5

 

I've tried this a few different ways but none seem to work. I'm new to Power BI and I think I am still thinking of this in terms of how I'd do the calculation in excel, SQL, etc. Help me think in a Power BI way, please. Thanks.

1 ACCEPTED SOLUTION

HI @kmo

 

Try this column

 

Column =
Table1[Rating]
    / CALCULATE (
        SUM ( Table1[Rating] ),
        FILTER (
            ALLEXCEPT ( Table1, Table1[Team], Table1[Rating_Type] ),
            Table1[Year] = 1
        )
    )

Regards
Zubair

Please try my custom visuals

View solution in original post

6 REPLIES 6
afzalphatan
Resolver I
Resolver I

You can use the below formula for your requirement 

=
Var Denominator = CALCULATE(SUM(Table2[Rating]), CALCULATETABLE(Table2, ALLEXCEPT(Table2, Table2[Team], Table2[Rating_Type]), Table2[Year] = 1))
Return
DIVIDE(Table2[Rating], Denominator)
SivaMani
Resident Rockstar
Resident Rockstar

Can you share your expected result for better understanding?

Hi, here is the expected result. Does this help? Thanks!

Team

YearRating_TypeRatingRating_Normalized_by_Year_1
A1Happiness5=5/5=100%
A1Quality4.5=4.5/4.5=100%
A2Happiness5=5/5=100%
A2Quality5=5/4.5=111%
B1Happiness4.5=4.5/4.5=100%
B1Quality5=5/5=100%
B2Happiness4.5=4.5/4.5=100%
B2Quality5=5/5=100%
C1Happiness4=4/4=100%
C1Quality5=5/5=100%
C2Happiness3=3/4=75%
C2Quality5=5/5=100%

HI @kmo

 

Try this column

 

Column =
Table1[Rating]
    / CALCULATE (
        SUM ( Table1[Rating] ),
        FILTER (
            ALLEXCEPT ( Table1, Table1[Team], Table1[Rating_Type] ),
            Table1[Year] = 1
        )
    )

Regards
Zubair

Please try my custom visuals

Thank you. As a new user, I'm sure I am missing something.

I get the error "Expression.Error: The name 'CALCULATE' wasn't recognized. Make sure it's spelled correctly."

 

I was trying to put your formula into the Query Editor --> Custom column box. It seems that DAX formulas (I think that's what this is) don't work there. Is there somewhere else I should be putting this code?

 

HI @kmo

 

Yes you are right... this won't work in Query Editor.. since it is a calculated column (different than a custom column)

 

Exit the Query Editor>>>Go to modelling Tab>>>New Column>>then use this formula

 

 

Normalize.png


Regards
Zubair

Please try my custom visuals

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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