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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Datagulf
Responsive Resident
Responsive Resident

Removing a measure from a filter to show all constituents in a matrix table

Hello Community. I have a blocker on a task I am doing. So, I have a table with Internet connection clients. A single client could have one site or multiple sites. Each site is billed a different amount. The data is as below.

Client NameSites of ClientsBilled Amount($)
client AHead office1000
Client ANew York500
Client ANew Orleans2000
Client AVegas3500
Client ASeattle5000
Client AFlorida4500
Client BNew York13000
Client BSeattle2000
Client BFlorida1500
Client CWashington13700
Client CHead office3000
Client DHead office12000
Client EWashington8800
Client FFlorida11000
Client GSeattle7700
Client HNew York3300
Client HNew Orleans4000
Client HHead office3500
Client ISeattle12500

The task is to find the clients that are billed more than 10000$. WHich I have been able to do with the formulae below.

 

Top 10K accounts = 

SUMX(

FILTER(

GROUPBY(

'Sheet1',

'Sheet1'[Client ],

"_1", SUMX(CURRENTGROUP(),'Sheet1'[Billed Amount])

),

[_1] >= 10000

),

[_1]
)

 

The problem is the Matrix table only returns the sites that are above 10000, whereas the sites below 10000, also were included in the build-up of the amount to being greater than 10000. If you can help change the formula to account for the Companies with a total of 10000 change, I would be grateful. The Pbix is below. Thanks in advance. https://drive.google.com/file/d/1uRGQrGHWK8ZRX5ywCCangyflrMq3d-P8/view?usp=sharing 

1 ACCEPTED SOLUTION

Hi @Datagulf ,

I updated your sample pbix file(see attachment) again,  please check whether that is what you want.

1. Create a measure as below to judge if the total of bill amount is equal or greater than 10000

Flag = 
VAR _tab =
    SUMMARIZE (
        'Sheet1',
        'Sheet1'[Client ],
        "@billamount",
            CALCULATE (
                SUM ( 'Sheet1'[Billed Amount] ),
                ALLEXCEPT ( 'Sheet1', 'Sheet1'[Client ] )
            )
    )
RETURN
    IF ( SUMX ( _tab, [@billamount] ) >= 10000, 1, 0 )

2. Apply a visual-level filter with condition (Flag is 1) on the matrix visual just as below screenshot

yingyinr_0-1636682045784.png

Best Regards

Community Support Team _ Rena
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-yiruan-msft
Community Support
Community Support

Hi @Datagulf ,

I updated your sample pbix file(see attachment), please check whether that is what you want. You can update the formula of your measure [Top 10K accounts] with the same one in measure below:

Billed amount more than 10000 = 
VAR _tab =
    SUMMARIZE (
        'Sheet1',
        'Sheet1'[Client ],
        'Sheet1'[Sites ],
        "@billamount", SUM ( 'Sheet1'[Billed Amount] )
    )
RETURN
    SUMX ( FILTER ( _tab, [@billamount] >= 10000 ), [@billamount] )

yingyinr_0-1636512866763.png

If the above one still can't help you get the correct result, please provide the backend scenario and calculation logic with special examples. Thank you.

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thanks @v-yiruan-msft . However, this does not solve it. I wanted the table to show all sites as long as the total is greater than 10K. However, that does not happen since only sites  with greater 10K are the only ones shown. However, I got a work around by using a tooltip to show all the sites as long as the client billing goes above 10K.

Hi @Datagulf ,

I updated your sample pbix file(see attachment) again,  please check whether that is what you want.

1. Create a measure as below to judge if the total of bill amount is equal or greater than 10000

Flag = 
VAR _tab =
    SUMMARIZE (
        'Sheet1',
        'Sheet1'[Client ],
        "@billamount",
            CALCULATE (
                SUM ( 'Sheet1'[Billed Amount] ),
                ALLEXCEPT ( 'Sheet1', 'Sheet1'[Client ] )
            )
    )
RETURN
    IF ( SUMX ( _tab, [@billamount] ) >= 10000, 1, 0 )

2. Apply a visual-level filter with condition (Flag is 1) on the matrix visual just as below screenshot

yingyinr_0-1636682045784.png

Best Regards

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.