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

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Carousel_PP_768x460_Wave2 (1).png

2022 Release Wave 2 Plan

Power Platform release plan for the 2022 release wave 2 describes all new features releasing from October 2022 through March 2023.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Top Solution Authors
Users online (3,392)