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

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
lokosrio
Helper II
Helper II

Divide sum by total for items where sum is greater than zero

Hi,

 

I have a data like in the table below:

lokosrio_0-1597846395852.png

 

...




On my chart I want to get data like in the table below:

lokosrio_1-1597846411703.png

 

 

1. I want to show only values where the sum > 0
2. Divide the sum/total to present the result as a contribution


 

Right now I have only DAX which helps me get the elements where the value is bigger than zero:

CALCULATE(SUM('Table'[Measure]),
FILTER(ALL('Table'[Measure]),
SUM('Table'[Measure]) > 0))

 

Could you help me with this, please?

Thank you in advance!

1 ACCEPTED SOLUTION
V-lianl-msft
Community Support
Community Support

Hi @lokosrio ,

 

Refer:

sum if>0 =
VAR sum_by_dim2 =
    CALCULATE ( SUM ( 'Table'[Measure] ), ALLEXCEPT ( 'Table', 'Table'[Dim2] ) )
RETURN
    IF ( sum_by_dim2 > 0, sum_by_dim2 )
result =
VAR total =
    CALCULATE (
        SUM ( 'Table'[Measure] ),
        FILTER ( ALL ( 'Table' ), [sum if>0] > 0 )
    )
RETURN
    DIVIDE ( [sum if>0], total )

V-lianl-msft_0-1597911536494.png

 

 

Best Regards,
Liang
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-lianl-msft
Community Support
Community Support

Hi @lokosrio ,

 

Refer:

sum if>0 =
VAR sum_by_dim2 =
    CALCULATE ( SUM ( 'Table'[Measure] ), ALLEXCEPT ( 'Table', 'Table'[Dim2] ) )
RETURN
    IF ( sum_by_dim2 > 0, sum_by_dim2 )
result =
VAR total =
    CALCULATE (
        SUM ( 'Table'[Measure] ),
        FILTER ( ALL ( 'Table' ), [sum if>0] > 0 )
    )
RETURN
    DIVIDE ( [sum if>0], total )

V-lianl-msft_0-1597911536494.png

 

 

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

amitchandak
Super User
Super User

@lokosrio , you have try like

divide(sum(Table[measure]),calculate(sum(Table[measure]), all(Table[dim])))

or

divide(sum(Table[measure]),calculate(sum(Table[measure]), allselected(Table[dim])))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Unfortunately it is not working, because in the calculation I need to filter only values where the sum is greater than 0. In your calculation I am taking all values, which is not the case here

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.

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Kudoed Authors