Showing results for 
Search instead for 
Did you mean: 
Frequent Visitor

Dynamic TopN filter in Power BI

I have table contain only one column Title. Column values:
Word 1
Word 4
Word 3
Word 1
Word 4
Word 2

How filter above table by dynamic TopN?

Super User IV
Super User IV

@ranjitp , Try like

Top 10 = CALCULATE([TotalTitle],TOPN(10,all('Content Catalog Search Result Report'[Title]),[TotalTitle],DESC),VALUES('Content Catalog Search Result Report'[Title]))


Here 10 can be variable or what if


Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Thank you @amitchandak . But gives me duplicated Rank value for each duplicated count, see attach image.TopN.pngank v

Hi @ranjitp,

Any rules that you want to rank your field values? If you only want to choose rows based on it row_number, I'd like to suggest you add an index column to your table. Then you can filter on the index field values to show correspond records.

Create Index Columns Using Power Query 

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
Super User II
Super User II


I'm not too sure what your dataset includes. Is it a single column listing "Word 1", "Word 4", "Word 3" etc as individual values, or do you have 2 columns (one for "Word" and another for a value? If the latter, does that mean that there is a single ID value for "Word"?

To calculate TopN you can use either TopN or RANKX for the measure, depending on what you wish to see. If by "dynamic TopN" you mean you wish to select the TopN using a slicer, you will need to create a independent table listing the rank values you wish to filter by.

Please also provide a depiction of what you wish to see in the visual.


Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.

Yes. I have only single column in table with values  "Word 1", "Word 4", "Word 3", "Word 1" etc. All values are repetitive, so I calculate total count of each Word.
Here I'm using TopN slicer and then use RANKX to rank each words.
When I use rankx it returns 1 in each row.

TotalTitle = COUNT('Content Catalog Search Result Report'[Title])
Rank = RANKX(All('Content Catalog Search Result Report'[Title]),[TotalTitle], ,DESC)


Helpful resources



We are excited to announce the Power BI Super Users!

Wave Release 2

Check out the updates in Power BI.

Overview of Power BI 2020 release wave 2!

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!


The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors