Share via


Kleine nettolading van gegevens: beperk de hoeveelheid gegevens die u ontvangt

Een van de belangrijkste patronen voor zakelijke gegevensapps is het beperken van de grootte van de gegevens waarin u gegevens ophaalt in Power Apps. Als de nettolading van gegevens klein is, wordt bijna al het andere eenvoudiger. De besturingselementen Galerie en Tabel doen dit automatisch voor u wanneer u rechtstreeks verbinding maakt met de gegevensbron in de eigenschap Items. Als u bijvoorbeeld rechtstreeks bent verbonden met een externe gegevensbron, worden pagina's in een galerie in kleine stappen opgehaald, bijvoorbeeld 100 records. Deze standaard maakt gebruik van het feit dat een eindgebruiker zelden meer dan honderd records nodig heeft voor een gebruikerstaak.

Delegering gebruiken

Een belangrijke manier om de nettolading van gegevens klein te houden is erop te vertrouwen dat gegevensbron het werk voor u doet voordat het Power Apps bereikt. Delegatie is wanneer Power Fx een Power Fx-expressie kan vertalen naar een query-expressie die een gegevensbron als Dataverse, SQL Server, SharePoint, en Excel zelfstandig af kan handelen. Vervolgens delegeert Power Fx de query, of geeft het de verantwoordelijkheid voor het uitvoeren van de query, de mashup van gegevens, aan de gegevensbron. De gegevensbron produceert de juiste gegevens en stuurt deze terug naar Power Apps.

Wanneer de gegevensbron rechtstreeks aan een galerie of tabel is gekoppeld, worden de gegevens gepagineerd of teruggestuurd naar Power Apps in kleine prestatiestappen van 100 records. Verschillende gegevensbronnen beschikken over verschillende mogelijkheden. Dataverse heeft bijvoorbeeld veel meer mogelijkheden om gegevens op de server te filteren dan Excel. Een goed voorbeeld is CountRows of CountIf. Dataverse ondersteunt CountRows op een beperkte manier. Dataverse berekent periodiek de grootte van de tabel en houdt die waarde rond. Wanneer CountRows wordt aangeroepen, krijgt u die waarde. Op die manier hoeft het geen volledige tabelscan uit te voeren om het exacte aantal voor elke CountRows-aanroep te krijgen. Maar Dataverse ondersteunt ook een exacte telling met CountIf tot 50.000 rijen. Het biedt deze twee verschillende mogelijkheden als een manier om goede prestaties van de Dataverse-server te behouden. SharePoint ondersteunt deze functie daarentegen niet. Een Power Fx-expressie met CountRows of CountIf for SharePoint wordt dus niet gedelegeerd. In plaats daarvan downloadt Power Apps een beperkt aantal rijen, 500 – 2000. Power Fx werkt lokaal op de 500/2000 records en retourneert een resultaat. Als uw gegevens altijd minder dan 500/2000 records bevatten, kan deze aanpak werken. Maar als het meer dan 500/2000 records betreft, krijgt u mogelijk onjuiste resultaten.

Vermijd te veel kolommen

Standaard berekent Power Apps de daadwerkelijke kolommen die u nodig hebt voor een bepaalde query met behulp van een functieaanroep Expliciete kolomselectie. Deze functie is standaard ingeschakeld in alle nieuwe apps. Om de functie voor expliciete kolomselectie in de canvas-app in te schakelen, gaat u naar Instellingen > Aanstaande functies > Preview> en schakelt u vervolgens schakelaar Expliciete kolomselectie in.

Suggesties

Om het doel van een kleine nettolading van gegevens te bereiken, kunt u de volgende vragen en suggesties overwegen:

  1. Streef ernaar dat de standaardquery voor een galerie of tabel slechts ongeveer 100 – 200 records retourneert. Als u een delegeerbare query gebruikt, gebeurt dit automatisch. Als u een API of een andere bron opvraagt ​​die geen delegatie ondersteunt, gebruikt u parameters om de resultaten te verfijnen.

    • Overweeg het gebruik van een op gegevensbron gebaseerde weergave die de gegevens automatisch filtert. De meeste zakelijke apps maken intensief gebruik van weergaven op de gegevensbron.
    • Overweeg het gebruik van standaard opzoek- of filterwaarden om de gegevens te bereiken.
    • Overweeg om zoekargumenten in de gebruikersinterface te vereisen voordat u gegevens weergeeft.
    • Denk na over de volgende vragen over uw app:
      • Wat is er standaard nodig op een bepaald scherm?
      • Welke gegevens heeft de eindgebruiker echt nodig om een ​​bepaalde zakelijke actie te ondernemen?
      • Gebruikers hebben over het algemeen geen duizenden records op een beginscherm nodig om een ​​taak uit te voeren.
  2. Begin met het samenstellen van uw query voor een galerie of tabel door de delegatietabellen voor uw gegevensbron te gebruiken. Kies alleen de functies die voor uw query worden ondersteund. Als uw query niet delegeerbaar is, wat kunt u dan doen om deze delegeerbaar te maken?