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

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.

Reply
Anonymous
Not applicable

SUMX function where you multiply a row value by a dax created percentage measure is not working.

I am attempting to do a sumx in an opportunity table in salesforce. I want to multiply each $ value in bookings column by its corresponding conversion rate based on the stage the opportunity is in. Here is how I calculate the conversion rates for qualified and negotiating. There is also tech select and evaluation

 

Closed Won Opportunity Count = 
COUNTROWS(
    FILTER(
        Opportunity,
        CONTAINSSTRING(Opportunity[StageName], "Closed Won")
    )
)

Qualified Opportunity Count = 
COUNTROWS(
    FILTER(
        Opportunity,
        NOT(ISBLANK(Opportunity[Date_Moved_to_Qualified__c])) ||
        NOT(ISBLANK(Opportunity[Date_Moved_to_Evaluation__c])) ||
        NOT(ISBLANK(Opportunity[Date_Moved_to_Tech_Select__c])) ||
        NOT(ISBLANK(Opportunity[Date_Moved_to_Negotiating__c])) ||
        NOT(ISBLANK(Opportunity[Date_Moved_to_Submit_for_Processing__c])) ||
        CONTAINSSTRING(Opportunity[StageName], "Closed Won")
    )
)

Qualified Conversion = 
DIVIDE([Closed Won Opportunity Count],[Qualified Opportunity Count])

Negotiating Opportunity Count = 
COUNTROWS(
    FILTER(
        Opportunity,
        NOT(ISBLANK(Opportunity[Date_Moved_to_Negotiating__c])) ||
        NOT(ISBLANK(Opportunity[Date_Moved_to_Submit_for_Processing__c])) ||
        CONTAINSSTRING(Opportunity[StageName], "Closed Won")
    )
)

Negotiating Conversion = 
DIVIDE([Closed Won Opportunity Count],[Negotiating Opportunity Count])

 

 

Every stage conversion rate follows this logic. The rates are calculating correctly in filter logickiran105_0-1704206328068.png

I have made a bucket column where all closed wons stages are now
"in hand". I want to do a sumx that iterates through the opportunity table and forecasts bookings. This is the formula I made.

 

Forecasted Bookings = 
SUMX(
    Opportunity,
    SWITCH(
        TRUE(),
        Opportunity[Stage] = "Qualified", Opportunity[Bookings__c] * [Qualified Conversion],
        Opportunity[Stage] = "Tech Select", Opportunity[Bookings__c] * [Tech Select Conversion],
        Opportunity[Stage] = "Negotiating", Opportunity[Bookings__c] * [Negotiating Conversion],
        Opportunity[Stage] = "Evaluation", Opportunity[Bookings__c] * [Evaluation Conversion],
        Opportunity[Stage] = "In Hand", Opportunity[Bookings__c],
        Opportunity[Stage] = "Closed Lost", 0,
        BLANK()  // Default case if none of the conditions match
    )
)

 

 

However when I iterate whenever the stage is one that needs to be multiplied by a rate. it returns a blank. kiran105_1-1704206455174.png

Why is this what can I do?

3 REPLIES 3
some_bih
Super User
Super User

Hi @Anonymous share file via Office 365 or dropbox, google drive link or try to put each measure as variable so replace measure with variable





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

Proud to be a Super User!






some_bih
Super User
Super User

Hi  
in part Forecasted Bookings =

check part 

 Opportunity[Stage] = "In Hand", Opportunity[Bookings__c],

seems that after comma, definition is not finished?

@Anonymous





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

Proud to be a Super User!






Anonymous
Not applicable

it is saying if it is in hand then give the regular bookings without multiplying

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors