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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
dkaise4
New Member

DAX Measure Efficiency

Hello friends! 

 

I am working through a complex project with a client and I would like to speed up my report loading times... but I am unsure if I am able to given the requirements and structure:


There are 10 different measures which are given a score, feeding into an overall project score with conditional formatting everywhere...

 

The scoring (Green = 2, Yellow = 1 and Red = 0) as is the Scoring Criteria (e.g. what defines green, yellow and red) is all controlled via their CRM platform through field references. Each measure also has the ability to be over written at the record level. 

 

I am currently using SUMX to pull in the Green, Yellow and Red score values from the Power BI Scoring Table in CRM. This causes issues when I roll this up to the Project Score by getting the Sum of the 10 different measures. 

 

Is there a more effective way of computing the overall project score?

 

Measure Score:
MEASURE _Measures[Actual: Revenue (Score)]

VAR actual_weight =

SUM(
    pbi_scorings[actual_weight]
)

VAR actual_green_score = 

SUM(
    pbi_scorings[actual_score_green]
)

VAR actual_yellow_score = 

SUM(
    pbi_scorings[actual_score_yellow]
)

VAR actual_red_score = 

SUM(
    pbi_scorings[actual_score_red]
)

VAR actual_upper_criteria = 

SUM(
    pbi_scorings[actual_revenue_criteria_upper]
)

VAR actual_lower_criteria = 

SUM(
    pbi_scorings[actual_revenue_criteria_lower]
)

VAR measure_calculation =

IF(
    [Actual: Revenue (Scoring Criteria)] = "Missing Value",
    0,
    [Actual: Revenue (Scoring Criteria)]
)

VAR scoring_criteria =

IF(
    measure_calculation >= actual_upper_criteria, actual_green_score, 
    IF(
        measure_calculation >= actual_lower_criteria && measure_calculation < actual_upper_criteria, actual_yellow_score,
        IF(
            measure_calculation < actual_lower_criteria, actual_red_score, actual_red_score
        )
    )
)

VAR score_override =

SWITCH(
    SUM(
        record-table[pbi_scoreoverride_actual_revenue]
    ),
    801220000,actual_red_score,
    801220001,actual_yellow_score,
    801220002,actual_green_score,scoring_criteria
)
RETURN
score_override * actual_weight



Project Score = 
Sum of 10x Measures listed above

3 REPLIES 3
Anonymous
Not applicable

Yes, that is what I would do. See if it helps.

Anonymous
Not applicable

One way I'm thinking of is to build a bridge table that holds the sum values.  Then you can have separate calculations to reference to that table. 

Interesting, So I would summarize the values I need in a Calculated Table within the model, then only reference that information for all of my measures?

I am new to 'Bridge Table' any related information would be really helpful for me!

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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