Showing results for 
Search instead for 
Did you mean: 
Advocate II
Advocate II

500 rows limit


I read a lot about ways to overcome the 500 limit, but I suppose I'm doing something wrong.

I have a table called TaulaProd with about 6000 lines and 3 columns:  SKU / Name / PartName like:


SKU   /  Name   /    PartName


SKU1    Prod1        Part1

SKU1    Prod1        Part2

SKU1    Prod1        Part3

SKU2    Prod2        Part1



I create a dropdown that lists all the parts in SKU1, so showing:  Part1, Part2 and Part3...


Everything works great for the SKUs on the 1st 500 lines... but not after this 500 records for example SKU900 that is way under the 1st 500 rows.

I tried defining the dropdown Items= Filter(TaulaProd, SKU="SKU900") and it is not working

I thought Filter is delegable and should not be a problem...

then I tried collecting:

ClearCollect(Peces,Filter(TaulaProd,SKU= "SKU900"))

but the collection is empty, while works perfectly if I do ClearCollect(Peces,Filter(TaulaProd,SKU= "SKU9")) because in on the 500 first rows.


What I'm doing wrong?



Switching over to Azure SQL is pretty easy.

If you are happy to keep a flat SQL table to mirror your existing Excel file structure you can simply recreate this as a single SQL table ensuring that the column names are an exact match (and then import your data to it).


Once you connect to the Azure SQL database using the in-built PowerApp connector you simply switch over the data source in your app from Excel to SQL.


Excel DataSource = Table1

SQL DataSource = '[dbo].[Table1]'


It's a little while since I made the switch but from what I remember that's it - it took me under an hour to port my original app running off 3 Excel tables.


Of course, once you are running on SQL you have the opportunity to build out a relational database. Contrary to what I first read, working with foreign keys in PowerApps is surprisingly easy and if you use collections to hold the data from the LookUp() function you can populate dropdown lists etc. with no obvious drop in performance.


Hope this helps.




Adding sort(yourlistname,ID,descending) to the filter worked for me!  Quick and easy way to show the most recent items and get around the 500 item limit!  For example:


Filter(Sort(YourListName, ID,Descending), StartsWith(Site.Value,sortVar), Month(itemDate) = _Month)



Since my previous post (about switching to using Azure SQL) I've moved on to using SQL Stored Proceedures and Flow for the more complex queries. You pass the variables from PowerApps (e.g. date range) to the stored proceedure (via Flow) so you return only what you need, rather pulling everything out and then filtering (really useful if you are using a relational database). One query I switched over went from 30+ minutes to process in PowerApps to under 10 seconds.


The only bottleneck I now have is where I need to pull out user names - I only store the Office 365 GUID in my database and pulling out the user name is done in PowerApps. I suspect that this can be done in Flow to speed things up but as it only affects 2 rarely used queries I haven't investigated whether its possible.

Helpful resources

Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Solution Authors
Top Kudoed Authors
Users online (1,404)