Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin 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.
I have two tables, Contacts and Accounts. I want to apply a filter on Contacts according to whether or not the Account it belongs to is within the Top 2 Accounts by Sales. So given the table below, I'd want to only see Bob and Alice.
I realize I can use the filters option but need the formula for a more complex situation
Contacts
Name | Account |
John | ABC Corp |
Michael | XYZ Inc |
Bob | Test, LLC |
Alice | Example Inc |
Accounts
Sales | Account |
$100 | ABC Corp |
$1000 | XYZ Inc |
$5000 | Test, LLC |
$10,000 | Example Inc |
Solved! Go to Solution.
Hi @nckpedersen ,
I created a sample pbix file(see attachment) for you, please check whether that is what you want.
1. Create two measures as below to judge if the account is Top 2 accounts
Rank = RANKX ( ALLSELECTED ( 'Accounts' ), CALCULATE ( SUM ( 'Accounts'[Sales] ) ) )
Flag =
VAR _tab =
CALCULATETABLE (
VALUES ( 'Accounts'[Account] ),
FILTER ( 'Accounts', [Rank] <= 2 )
)
RETURN
IF ( SELECTEDVALUE ( 'Contacts'[Account] ) IN _tab, 1, 0 )
2. Create a table visual and apply the visual-level filter with the condition(Flag is 1)
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. You can refer the following link to upload the file to the community. Thank you.
How to upload PBI in Community
Best Regards
Hi @nckpedersen ,
I created a sample pbix file(see attachment) for you, please check whether that is what you want.
1. Create two measures as below to judge if the account is Top 2 accounts
Rank = RANKX ( ALLSELECTED ( 'Accounts' ), CALCULATE ( SUM ( 'Accounts'[Sales] ) ) )
Flag =
VAR _tab =
CALCULATETABLE (
VALUES ( 'Accounts'[Account] ),
FILTER ( 'Accounts', [Rank] <= 2 )
)
RETURN
IF ( SELECTEDVALUE ( 'Contacts'[Account] ) IN _tab, 1, 0 )
2. Create a table visual and apply the visual-level filter with the condition(Flag is 1)
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. You can refer the following link to upload the file to the community. Thank you.
How to upload PBI in Community
Best Regards
This is wonderful, thank you! I feel like you just opened an entirely new area of Power BI for me!
@nckpedersen , My advice would be create TOP2 measure and use in Visual
TOPN: https://youtu.be/QIVEFp-QiOk
Otherwise first create a rank in Accounts (All new columns below )
Rank = ranxk(Accounts, [Sales],,desc, dense)
Then copy that to table Contacts
Rank contact = Maxx(filter(Accounts, Accounts[Account] = Contacts [Account] && Accounts[Rank]<=2), Accounts[Rank])
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
11 | |
11 | |
10 | |
9 | |
8 |
User | Count |
---|---|
17 | |
12 | |
11 | |
11 | |
11 |