Malé dátové zaťaženie – obmedzte množstvo získaných dát

Jedným z najdôležitejších vzorov pre podnikové dátové aplikácie je obmedzenie veľkosti dát, do ktorých sa načítava Power Apps. Ak je dátové zaťaženie malé, takmer všetko ostatné bude jednoduchšie. Ovládacie prvky Galéria a Tabuľka to urobia za vás automaticky, keď sa pripojíte priamo k zdroj údajov vo vlastnosti Items. Napríklad, keď je galéria pripojená priamo k vzdialenému zdroj údajov, galéria ovláda stránky s údajmi v malých prírastkoch, napríklad 100 záznamov. Toto predvolené nastavenie využíva skutočnosť, že koncový používateľ len zriedka skutočne potrebuje viac ako sto záznamov na úlohu používateľa.

Používajte delegovanie

Jedným z kľúčových spôsobov, ako udržať malé množstvo údajov, je spoľahnúť sa na to, že zdroj údajov urobí prácu za vás skôr, než sa k tomu dostane Power Apps. Delegovanie je, keď Power Fx môže preložiť Power Fx výraz na výraz dotazu, ktorý zdroj údajov, ako napríklad Dataverse, SQL Server, SharePoint a Excel si poradí sám. A potom Power Fx deleguje tento dotaz alebo dáva zodpovednosť za vykonanie práce s dotazom, dátového mashup, na zdroj údajov. Zdroj údajov vytvorí správne údaje a vráti ich do Power Apps.

Keď je zdroj údajov naviazaný priamo na galériu alebo tabuľku, potom sú údaje stránkované alebo odovzdané späť do Power Apps v malých výkonových prírastkoch po 100 záznamoch. Rôzne zdroje údajov majú rôzne možnosti. Dataverse má napríklad oveľa viac možností na filtrovanie údajov na serveri ako Excel. Dobrým príkladom sú CountRows a CountIf. Dataverse podporuje CountRows v obmedzenom rozsahu. Dataverse pravidelne vypočíta veľkosť tabuľky a túto hodnotu udržiava. Keď sa volá CountRows, dostanete túto hodnotu. Týmto spôsobom nemusí vykonávať úplné skenovanie tabuľky, aby získal presné číslo pre každý hovor CountRows. Ale Dataverse podporuje aj presný počet s CountIf až do 50 000 riadkov. Poskytuje tieto dve rôzne funkcie ako spôsob, ako pomôcť zachovať dobrý výkon Dataverse servera. Naproti tomu SharePoint túto funkciu nepodporuje. Takže Power Fx výraz s CountRows alebo CountIf pre SharePoint nie je delegovaný. Namiesto toho Power Apps stiahne obmedzený počet riadkov, 500 – 2000. Power Fx pracuje na záznamoch 500/2000 lokálne a vracia výsledok. Ak sú vaše údaje vždy menšie ako 500/2000 záznamov, tento prístup môže fungovať. Ale ak je to viac ako 500/2000 záznamov, môžete získať nesprávne výsledky.

Vyhnite sa príliš veľkému počtu stĺpcov

V predvolenom nastavení Power Apps vypočítava skutočné stĺpce, ktoré potrebujete pre daný dotaz, pomocou volania funkcie Explicitný výber stĺpcov. Táto funkcia je predvolene zapnutá pre všetky nové aplikácie. Ak chcete zapnúť funkciu explicitného výberu stĺpcov v aplikácii plátno, prejdite na Nastavenia > Nadchádzajúce funkcie > Ukážka> zapnite prepínač Explicitný výber stĺpcov .

Návrhy

Ak chcete dosiahnuť cieľ malého objemu dát, zvážte nasledujúce otázky a návrhy:

  1. Zamerajte sa na predvolený dotaz pre galériu alebo tabuľku, aby vrátil iba približne 100 – 200 záznamov. Ak použijete delegovateľný dotaz, stane sa to automaticky. Ak sa pýtate na API alebo iný zdroj, ktorý nepodporuje delegovanie, použite parametre na spresnenie výsledkov.

    • Zvážte použitie zobrazenia založeného na zdroj údajov, ktoré automaticky filtruje údaje. Väčšina podnikových aplikácií intenzívne využíva zobrazenia na zdroj údajov.
    • Zvážte použitie predvolených hodnôt vyhľadávania alebo filtra na rozsah údajov.
    • Pred zobrazením údajov zvážte vyžadovanie argumentov vyhľadávania v používateľskom rozhraní.
    • Zvážte tieto otázky týkajúce sa vašej aplikácie:
      • Čo je predvolene potrebné na danej obrazovke?
      • Aké údaje skutočne potrebuje koncový používateľ na vykonanie danej obchodnej akcie?
      • Používatelia vo všeobecnosti nepotrebujú na splnenie úlohy tisíce záznamov na úvodnej obrazovke.
  2. Začnite vytvárať svoj dopyt pre galériu alebo tabuľku pomocou delegačných tabuliek pre zdroj údajov. Vyberte len funkcie podporované pre váš dopyt. Ak váš dopyt nie je delegovateľný, čo môžete urobiť, aby bol delegovateľný?