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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Jake_sully
Frequent Visitor

Pagination not working correctly with filtering/search in Power BI table (data exists but appears on

Hi everyone,

I am new to Power BI and currently learning by building a Worker Status Report. I am facing an issue with custom pagination when filtering/searching data.

Report Setup

  • Data source: PostgreSQL

  • Data is retrieved via a database VIEW

  • Visual: Table

  • Page size: 40 rows per page

  • Pagination implemented using DAX + slicer

  • Filters:

    • Date slicer (range)

    • Search (Company / Department / Employee / Team Leader)

The data exists in the model, and both date filter and search work, but the issue is with pagination.

 

When I apply filters or search:

  • The table sometimes shows 0 rows

  • However, the filtered data is actually present on page 4, 5, or some other page

  • Pagination does not reset or dynamically adjust based on the filtered result

  • As a result, users think there is no data even though it exists

What I expect:

  • Pagination should recalculate dynamically based on filtered rows

  • If filtered data has fewer rows, page count should update automatically

  • Filtered results should appear on page 1, not hidden on later pages

 

Dax used for navigation

page navigation table

Page Navigation = VAR totalrows = COUNTROWS(vw_worker_status) VAR _pagesize = 40 VAR totalpages = CEILING(DIVIDE(totalrows, _pagesize), 1) RETURN ADDCOLUMNS( GENERATESERIES(1, totalpages, 1), "Min", ([Value] - 1) * _pagesize + 1, "Max", MIN([Value] * _pagesize, totalrows) )
Pagination measure

slicer selection =
VAR minvalue = SELECTEDVALUE('Page Navigation'[Min])
VAR maxvalue = SELECTEDVALUE('Page Navigation'[Max])
VAR indexvalue = SELECTEDVALUE(vw_worker_status[index_col])
RETURN
IF (
indexvalue >= minvalue &&
indexvalue <= maxvalue,
1,
0
)

 

This measure is applied as a visual-level filter (= 1) on the table.

 

My Question

 

  1. Why does pagination not adjust when filters/search are applied?

  2. How can pagination be made dynamic based on filtered rows, not total rows?

  3. Is there a better or recommended approach for pagination in Power BI tables?

  4. Should COUNTROWS be replaced with a filter-aware calculation (like ALLSELECTED)?

I would really appreciate guidance or best practices.
Thanks in advance for your help!

 

https://drive.google.com/file/d/1DjHwOcX_bGAFqFlIzVC-YEXBzbYqHrBh/view?usp=sharing

 


8 REPLIES 8
v-prasare
Community Support
Community Support

Hi @Jake_sully,

We are following up once again regarding your query. Could you please confirm if you have raised ideas with Microsoft?
If not please raise idea and upvote it. If we don’t hear back, we’ll go ahead and close this thread. Should you need further assistance in the future, we encourage you to reach out via the Microsoft Fabric Community Forum and create a new thread. We’ll be happy to help.

 

 

Thanks,

Prashanth

v-prasare
Community Support
Community Support

Hi @Jake_sully,

We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.

 

 

 

Thank you for your patience and look forward to hearing from you.
Best Regards,
Prashanth Are
MS Fabric community support

v-prasare
Community Support
Community Support

Hi @Jake_sully,

We would like to confirm if our community members answer resolves your query or if you need further help. If you still have any questions or need more support, please feel free to let us know. We are happy to help you.

 

@DataVitalizer, Thanks for your prompt response

 

 

Thank you for your patience and look forward to hearing from you.
Best Regards,
Prashanth Are
MS Fabric community support

DataVitalizer
Super User
Super User

Hi @Jake_sully 

 

Your issue is COUNTROWS(vw_worker_status) which counts everything, not just filtered rows.

 

You need to Change this line:

VAR totalrows = COUNTROWS(vw_worker_status)

To this:

VAR totalrows = CALCULATE(COUNTROWS(vw_worker_status), ALLSELECTED(vw_worker_status))
 
But honestly, that table still won't refresh properly when you filter because calculated tables are static, so here is a better solution:
  • Use this measure instead:
Dynamic Row Number = 
RANKX(
ALLSELECTED(vw_worker_status),
vw_worker_status[index_col],
,
ASC,
DENSE
)
  • Then update your pagination:
Show Row = 
VAR PageSize = 40
VAR CurrentPage = SELECTEDVALUE('Page Navigation'[Value])
VAR RowNum = [Dynamic Row Number]
RETURN
IF(
RowNum > (CurrentPage - 1) * PageSize &&
RowNum <= CurrentPage * PageSize,
1
)
 
Did it work? 👍 A kudos would be appreciated

🟨 Mark it as a solution to help spread knowledge 💡

🟩 Let's connect on LinkedIn

Hi @DataVitalizer 

Thank you for taking the time to reply and explain the issue. I really appreciate your support.

I am still quite new to Power BI and DAX. I tried implementing your suggested measures, but the index numbering and pagination are still not behaving as expected in my case.

I feel I might be missing some core concept here, and I’m struggling to connect how everything works together.

To make it easier, I have attached my PBIX file so you can see the exact setup and issue from my side. If possible, could you please help me by checking it and guiding me on what exactly needs to be changed or fixed? That would help me understand the correct approach much better.

Since I am learning, even a small explanation of what is going wrong in my model would be really valuable for me.

Best regards,
Jake

https://drive.google.com/file/d/1DjHwOcX_bGAFqFlIzVC-YEXBzbYqHrBh/view?usp=sharing 

Hi @DataVitalizer,

looks like the data underlying asking for credentials. could you please import data to pbix file and upload it here.

 

vprasare_0-1769075737795.png

 

 

 

Thanks,

Prashanth

 

 

Hi @v-prasare,

https://drive.google.com/file/d/1Ac_nApl1ACilw__vhRmsFo4xwsXqPCnI/view?usp=sharing

Could you please check if you are able to open it? I’m currently stuck with:

  1. Pagination logic — I want the table visual to show dynamic page numbers showing the correct number of pages based on filtered/search results. For example, if only 2 records remain after applying a filter, pagination should show only page “1” (dynamic page count).

  2. Dynamic row index — I need a column that shows the row number (1, 2, 3, …) dynamically based on the current filter/search context, not a static index from the source.

Thank you so much for your time and support.

Hi @Jake_sully ,

Power BI currently doesn’t support true dynamic pagination. While custom pagination can respect filters, the page selection itself doesn’t reset automatically when filters change this is a known product limitation.

I’d encourage you to submit your detailed feedback and ideas via Microsoft's official feedback channels and upvote, such as the Microsoft Fabric Ideas.

 

Feedback submitted here is often reviewed by the product teams and can lead to meaningful improvement. This helps the product group prioritize improvements, and the more customers that raise this, the faster it gets addressed.

 

 

Thanks,

prashanth

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.