cancel
Showing results 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

Helper III

## Ranking a measure without filters and displaying it with filters.

I'm trying to display the Top and Bottom 5 Advisors by Cumulative Flows. There is an AllClients fact table with [Net Flows] in it and all the relevant lookup tables in star schema including AdvisorFirmInfo2 and FundInfo2.

My Ranking formulas are below.

```Rank (Asc) of Cumul Flows =
IF (
RANKX (
ALLSELECTED ( AdvisorFirmInfo2 ),
CALCULATE ( SUMX ( AllClients, [Cumulative Flows])),
,
ASC,
DENSE
)
)
Top and Bottom 10 by Cumul Flows = if(OR([Rank (Asc) of Cumul Flows] <='TopN'[TopN Value],[Rank (Desc) of Cumul Flows]<='TopN'[TopN Value]),1,0)```

And I get part of the desired result below.

Which let's me make this chart.

But all the Advisors are invested via one of several funds and I want to add the Fund to the legend of the chart. When I do, I get the following chart which has far more advisors than I want.

Converting it back to a table to analyse it I get this.

How can I change my Ranking formulae to let me rank on the Cumulative Flows across all funds per Advisor and then display only the Top and Bottom N Advisors while showing the split by Fund?

7 REPLIES 7
Helper III

My Cumulative Flows measure is as follows:

```Cumulative Flows =
CALCULATE (
SUM ( AllClients[Net Flows] )
)```
Microsoft Employee

Could you try the formula below to see if it works?

```Rank (Asc) of Cumul Flows =
IF (
RANKX (
ALLSELECTED ( AdvisorFirmInfo2 ),
CALCULATE (
SUMX ( AllClients, AllClients[Net Flows] ),
),
,
ASC,
DENSE
)
)
```

Regards

Helper III

That didn't work. It gives me a similar result - far more advisors than there should be.

Microsoft Employee

Could you post your table structures(including the relationships) with some sample/mock data which can help us reproduce this issue, so that we can do some tests to better assist on it? It's even better to share a sample pbix file(with just some mock data) which can reproduce the issue. You can upload it to OneDrive or Dropbox and post the link here. Do mask sensitive data before uploading

Regards

Helper III

Please check out the Excel here and the pbix here. The relationships look like this.

Microsoft Employee

Based on my test, the formulas below should work in your scenario.

```Rank (Asc) of Cumul Flows =
IF (
HASONEVALUE ( AdvisorFirmInfo2[Public Name] ),
RANKX (
CALCULATE ( SUM ( AllClients[Net Flows] ),ALL(FundInfo[Fund]),ALLEXCEPT(AdvisorFirmInfo2,AdvisorFirmInfo2[Public Name])),
,
ASC,
DENSE
)
)```
```Rank (Desc) of Cumul Flows =
IF (
HASONEVALUE ( AdvisorFirmInfo2[Public Name] ),
RANKX (
CALCULATE ( SUM ( AllClients[Net Flows] ),ALL(FundInfo[Fund]),ALLEXCEPT(AdvisorFirmInfo2,AdvisorFirmInfo2[Public Name])),
,
DESC,
DENSE
)
)
```

Here is the modified pbix file for your reference.

Regards

Helper III

Fantastic! I understand why you can change SUMX to SUM. But can you explain why passing the ALL(Funds) function helps?

To simplify it, I can also take out the "ALLEXCEPT" function like this. Or will there be unintended consequences like this?

```Rank (Desc) of Cumul Flows =
IF (
RANKX (
ALLSELECTED ( AdvisorFirmInfo2 ),
CALCULATE (SUM (AllClients[Net Flows]),
ALL(FundInfo[Fund])
),
,
DESC,
DENSE
)
)```

Announcements

#### Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

#### Power BI Monthly Update - August 2024

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

#### Fabric Community Update - August 2024

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

Top Solution Authors
Top Kudoed Authors