cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

How to reduce response size for sharepoint list with many columns in power apps gallery that only needs a few fields

Hi,

 

I have a scenario where I have a sharepoint list with a large number of columns. When I add a gallery to my app that points to the list data source, I notice that - especially on a mobile device - the responsiveness is quite slow, even though it only uses a few fields. It can take up to 20 seconds to show the screen. How can I optimize the data retrieved so that it only fetches the data necessary to display the gallery fields ? Once a user selects an item, I should be able to fetch the other columns for the selected item for display or edit.

 

I tried loading the gallery from a collection, but because the data can be manipulated by many users at the same time, I need it to be up to date, and clearcollecting the gallery every time de screen is visible also takes a performance hit. I could be wrong about this though, and if there is a reference architecture or pattern for this kind of thing that would help me a lot.

 

Stephane

9 REPLIES 9

@bouillons 

For performance sake, you should avoid the collection (not to mention the constant refreshing).  However, in a multi-user scenario, you will need to refresh the datasource often to have up-to-date information in your app.

 

There is no real way to limit the number of columns returned from a list.  Each record will have all of the columns.

Although many think that using ShowColumns will limit it, it really doesn't it still brings in all the columns and then it returns from that only the columns you specify. 

 

The only suggestion I would offer is:

Reduce the amount of records returned to your Gallery.  If there is a way to limit (i.e. Filter) the results, this will improve performance.  I don't know your Gallery record scenario, but often many will pull back all, or large amount of records from a list.  Most are not needed...users (for example) are not usually going to go through 1000 records in a gallery and do something with them, they are more interested in 5 or 6 (for example) items that they really need to look at.  It's like the search concept - it's nice that you do an internet search and get "6,231,234" results matching your search, but are you really going to look at every one of them?

 

Beyond that, the only other option is to create a side-list.  One that has only the columns in from the primary list that you want.  This would need to be "maintained" by PowerAutomate where it would adjust and create records in the side-list as new or altered ones are done in the main list.

Then your app can pull from the side-list primarily and then reference the main list when other columns are needed.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

The ShowColumns should be applied to the gallery and delegated to Sharepoint, so that only the required data is fetched. What is nice about the gallery is that it shows what is there instead of the user having to think about a filter/search hoping to find what he/she is looking for.

@bouillons 

Nice as it would be...the ShowColumns still gets ALL of the columns from the datasource.  It just returns only the columns you want to see.

So, if you had 100 columns in your list and you did a ShowColumns(yourSource, "Title")  It would still bring down all 100 columns to the app and then return a Table with just the Title column.

 

When speaking of "things the user should see", what I mean by that is - I've done apps before where the client wanted to have all of the open service calls shown in a gallery on a mobile device so that a technician in the field could select the one they were at and then do more actions.  This was a waste of bandwidth!  The solution, use the GPS in the device to report the location of the person and then get only the service calls that were open in that location.

That is basically what I mean by selective results.

Things like, there is no need for a person to see other things that are not relevant to the function they are doing.

I always strive to find that from a data perspective as much as possible so that the amount of data retrieved is small and relevant.  I kind of look at it as wasted food - its not good to go to the store and get every ingredient they have only to just need 5 for the food you're making and then throw the rest away.

 

Anyway, if there are concepts like that which you can apply to your app, it makes a lot of difference.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

If I have a list for which I need a Title, Subtitle and description in a gallery, that should be totally fine with the way it works now (get the first x items and then fetch more if and only if the user scrolls down). Where it starts failing is when for each item, there's a bunch of other stuff sent over that I don't need and slows down everything. I understand it is still better to filter the responses, but my point was that ShowColumns should be honored by sharepoint and delegated. Actually, by inspecting the fields of the gallery, PowerApps should be able to determine which data to get from the datasource.

 

The alternative I see is to start splitting up sharepoint lists into multiple lists with a common field and with a number of columns in their own list.

@bouillons 

If your slowdown is with a ForAll then there is something wrong with the way you are using it.  If you are using a ForAll against the values in the Gallery, your app already has the data it needs.  It's not getting it again.

It already go it in your Items property.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

I'm not using ForAll. My observation is that on the web/pc the app is reasonably fast, just showing a screen with the gallery, but on a mobile device I see it loading and the gallery remains empty for about 20 sec, then it appears. I want it to load faster on the smartphone.

@bouillons 

Sorry, I misunderstood - you mentioned "for each" and I assumed you were doing something on those items.

I didn't mention it earlier, but have you also tried the "Explicit Column Selection" option in the Settings?  I've run into issues with it before because it DIDN'T bring all the columns that I needed.  But it was designed to limit the number of columns returned to only be those requested.  Offhand, I don't recall the datasources that support it.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Thanks for your time and effort Randy, I did not know about this setting. It is available for SQL and Dataverse. Unfortunately not (yet) for SharePoint. This would be a worthwhile improvement.

 

Stephane

@bouillons 

Yes, not for SharePoint.  It was actually a SQL based app that burned us on that setting once.  When it was introduced it was turned on by default.  All of a sudden we were missing data.

Anyway, if I had know the feature was coming, I would have planned for it.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Top Solution Authors
Top Kudoed Authors
Users online (2,436)