Dela via


Små datanyttolaster – begränsa mängden data du får

Ett av de viktigaste mönstren för företagsdataappar är att begränsa storleken på data som du hämtar till Power Apps. Om datanyttolasten är liten blir nästan allt annat lättare. Galleri- och tabellkontrollerna gör detta åt dig automatiskt när du ansluter direkt till datakälla i objektegenskapen. Till exempel, när den är ansluten direkt till en fjärransluten datakälla, styr ett galleri sidor i data i små steg, till exempel 100 poster. Denna standard utnyttjar det faktum att en slutanvändare sällan verkligen behöver mer än hundra poster för en användaruppgift.

Använd delegering

Ett viktigt sätt att hålla datanyttolasten liten är att förlita sig på att datakälla gör arbete åt dig innan den når Power Apps. Delegering är när Power Fx kan översätta ett Power Fx uttryck till ett frågeuttryck som en datakälla som Dataverse, SQL Server, SharePoint och Excel kan hantera på egen hand. Och sedan Power Fx delegerar den frågan, eller ger ansvaret för att utföra frågearbetet, kombination av data, till datakälla. Datakälla producerar korrekt data och returnerar den till Power Apps.

När datakälla är bunden direkt till ett galleri eller en tabell, söks eller lämnas data tillbaka till Power Apps i små presterande steg om 100 poster. Olika datakällor har olika möjligheter. Dataverse, till exempel, har många fler möjligheter att filtrera data på servern än Excel. Ett bra exempel är CountRows och CountIf. Dataverse stöder CountRows på ett begränsat sätt. Dataverse beräknar storleken på tabellen med jämna mellanrum och behåll det värdet runt. När CountRows anropas får du det värdet. På så sätt behöver den inte utföra en fullständig tabellskanning för att få det exakta numret för varje CountRows-anrop. Men Dataverse stödjer även en exakt räkning med CountIf upp till 50 000 rader. Den tillhandahåller dessa två olika funktioner som ett sätt att hjälpa till att bevara god prestanda på Dataverse-servern. Däremot stöder inte SharePoint den här funktionen. Så ett Power Fx-uttryck med CountRows eller CountIf for SharePoint delegeras inte. Istället laddar Power Apps ned ett begränsat antal rader, 500 – 2000. Power Fx arbetar på 500/2000-posterna lokalt och returnerar ett resultat. Om dina data alltid är mindre än 500/2000 poster kan detta tillvägagångssätt fungera. Men om det är fler än 500/2000 poster kan du få felaktiga resultat.

Undvik för många kolumner

Som standard Power Apps beräknar de faktiska kolumner du behöver för en given fråga med hjälp av ett funktionsanrop Explicit kolumnval. Den här funktionen är på som standard för alla nya appar. För att aktivera den explicita kolumnvalsfunktionen på arbetsyteappen, gå till Inställningar > Kommande funktioner > Förhandsversion> och aktivera sedan växlingsknappen Explicit kolumnval.

Förslag

För att uppnå målet med en liten datanyttolast, överväg följande frågor och förslag:

  1. Sikta på att standardfrågan för ett galleri eller en tabell endast ska returnera cirka 100 – 200 poster. Om du använder en delegerbar fråga sker detta automatiskt. Om du frågar efter ett API eller annan källa som inte stöder delegering, använd parametrar för att förfina resultaten.

    • Överväg att använda en datakällbaserad vy som automatiskt filtrerar data. De flesta appar av företagsklass använder sig mycket av vyer på datakälla.
    • Överväg att använda standarduppslags- eller filtervärden för att omfånga data.
    • Överväg att kräva sökargument i användargränssnittet innan du visar data.
    • Fundera över dessa frågor om din app:
      • Vad är nödvändigt på en given skärm som standard?
      • Vilken data behöver slutanvändaren verkligen för att vidta en viss affärsåtgärd?
      • Användare behöver i allmänhet inte tusentals poster på en första skärm för att utföra en uppgift.
  2. Börja bygga din fråga för ett galleri eller en tabell genom att använda delegeringstabellerna för din datakälla. Välj bara de funktioner som stöds för din fråga. Om din fråga inte är delegerbar, vad kan du göra för att göra den delegerbar?