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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Anonymous
Not applicable

How to Make a Table Visual Exceed 500 Rows / Looking for a Table .PBVIZ

Hey guys,

I'm an intern who is trying to find a .pbviz file of a basic table visual that isn't super outdated. I'm looking for one because my managers and I noticed that the default table visual only goes up to (around?) 500 rows. I desperately need a .pbviz file for a custom table visual so I can set the maximum to 30,000 datapoints. I tried to see if Microsoft has their .pbviz file of the table visual uploaded anywhere, but I can't seem to find it. If anyone could help, please do! I'm desperate for a response and don't have enough time to create my own .pbviz from scratch - I'm just testing to see how my report will function with a lengthier table visual. Thank you to anyone who can help me! 

2 ACCEPTED SOLUTIONS
dm-p
Super User
Super User

Hi @Anonymous,

 

MS doesn't open source their table visual. Even if they did, core visuals and custom visuals are very different in how they work; custom visuals have a subset of curated APIs and permissions and run in sandboxed iframes (vs. core visuals which are inline div elements in the report canvas).

 

I'm not aware of any open source examples that you can readily crib, but it would be fairly easy to integrate one of the many available JS table libraries, or even render a simple table if you're just looking to check things out before you go too far. For the latter, I wrote this intro to the table data view mapping a very long time ago (so it may not be 100% correct for the latest changes, but it may help you with rendering a basic table).

 

However, you would still need to meet the requirement to handle more than 30K rows. You can use the fetch more data API to do this, and you'd have a couple of options. I might consider one of the following strategies if I were to attempt it:

 

  • Recursively call this when your data is loaded, to try and get the maximum rows. note that this can be expensive and not great UX, as each request is a round-trip to Power BI and you may want to manage this asynchronously.
  • Load a minimal length dataset by setting your row limit to a lot less than 30K and then invoke the API when the user scrolls the table (this would be similar to what the core visual does). Smaller windows are advantageous in that the underlying DAX query generated by Power BI is less expensive to execute and you will generally get better response times out of your UI.

 

Regards,

 

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




View solution in original post

Anonymous
Not applicable

Hi, @Anonymous 

As @Greg_Deckler said, "The default table visual can scroll for many thousands of rows." and the documentation says "Virtualization (data windowing) by using Window of 500 rows at a time.".

So even if you have bilions of rows, they will be "incrementaly" loaded as you scroll

 

However, if you really want to implement your own custom visual, as @dm-p  said, you can draw you table using plenty of JS libs and then use the fetchMoreData API to fetch up to 1M rows

 

By the way, @dm-p already developed an implentation of the fetchMoreData API (thanks for that) with table mapping: dm-p/powerbi-visuals-fetchMoreData-SDKv3: Simple implementation of fetchMoreData in the Power BI Custom Visuals SDK v3 (github.com)

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi, @Anonymous 

As @Greg_Deckler said, "The default table visual can scroll for many thousands of rows." and the documentation says "Virtualization (data windowing) by using Window of 500 rows at a time.".

So even if you have bilions of rows, they will be "incrementaly" loaded as you scroll

 

However, if you really want to implement your own custom visual, as @dm-p  said, you can draw you table using plenty of JS libs and then use the fetchMoreData API to fetch up to 1M rows

 

By the way, @dm-p already developed an implentation of the fetchMoreData API (thanks for that) with table mapping: dm-p/powerbi-visuals-fetchMoreData-SDKv3: Simple implementation of fetchMoreData in the Power BI Custom Visuals SDK v3 (github.com)

@Anonymous Another option might be Deneb. I've done some cool things with Deneb in terms of tables (like fixing totals for example)



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...
dm-p
Super User
Super User

Hi @Anonymous,

 

MS doesn't open source their table visual. Even if they did, core visuals and custom visuals are very different in how they work; custom visuals have a subset of curated APIs and permissions and run in sandboxed iframes (vs. core visuals which are inline div elements in the report canvas).

 

I'm not aware of any open source examples that you can readily crib, but it would be fairly easy to integrate one of the many available JS table libraries, or even render a simple table if you're just looking to check things out before you go too far. For the latter, I wrote this intro to the table data view mapping a very long time ago (so it may not be 100% correct for the latest changes, but it may help you with rendering a basic table).

 

However, you would still need to meet the requirement to handle more than 30K rows. You can use the fetch more data API to do this, and you'd have a couple of options. I might consider one of the following strategies if I were to attempt it:

 

  • Recursively call this when your data is loaded, to try and get the maximum rows. note that this can be expensive and not great UX, as each request is a round-trip to Power BI and you may want to manage this asynchronously.
  • Load a minimal length dataset by setting your row limit to a lot less than 30K and then invoke the API when the user scrolls the table (this would be similar to what the core visual does). Smaller windows are advantageous in that the underlying DAX query generated by Power BI is less expensive to execute and you will generally get better response times out of your UI.

 

Regards,

 

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




Greg_Deckler
Super User
Super User

@Anonymous Not sure I understand this. The default table visual can scroll for many thousands of rows.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

Check out the May 2025 Power BI update to learn about new features.

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

May 2025 Monthly Update

Fabric Community Update - May 2025

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

Top Solution Authors
Top Kudoed Authors