Razumevanje dodeljevanja v aplikaciji s platnom
Power Apps vključuje zmogljiv nabor funkcij za filtriranje, razvrščanje in oblikovanje tabel podatkov v aplikaciji za platno: Filter,Razvrsti, in Dodaj stolpce funkcije, če naštejemo le nekatere. S temi funkcijami lahko uporabnikom zagotovite osredotočen dostop do informacij, ki jih potrebujejo. Za tiste z ozadjem v zbirkah podatkov: uporaba teh funkcij je enakovredna zapisovanju poizvedbe za zbirko podatkov.
Ključno pri izdelavi učinkovitih aplikacije je zmanjševanje količine podatkov, ki morajo biti dovedeni v napravo. Morda potrebujete le peščico zapisov iz milijonske množice ali lahko ena združena vrednost zastopa tisoče zapisov. Morda pa se lahko pridobi samo prvi nabor zapisov, ostanek pa dovede, ko uporabnik nakaže, da želi več. Osredotočenost lahko znatno zmanjša moč za obdelavo, pomnilnik in omrežno pasovno širino, ki jo potrebuje aplikacija, zaradi česar so odzivni časi za uporabnike hitrejši, celo na telefonih, povezanih prek mobilnega omrežja.
Delegacija kjer izraznost Power Apps formul ustreza potrebi po zmanjšanju gibanja podatkov po omrežju. Skratka, Power Apps bo obdelavo podatkov prenesel na vir podatkov, namesto da bi podatke premaknil v aplikacijo za lokalno obdelavo.
Kjer to postane zapleteno in razlog za ta članek obstaja, je ta, da vsega, kar je mogoče izraziti v formuli Power Apps, ni mogoče prenesti na vsak vir podatkov. Jezik Power Apps posnema Excelov jezik formul, zasnovan s popolnim in takojšnjim dostopom do celotnega delovnega zvezka v pomnilniku, s široko paleto funkcij številčne in besedilne manipulacije. Posledično je jezik Power Apps veliko bogatejši, kot ga podpira večina podatkovnih virov, vključno z zmogljivimi motorji baz podatkov, kot je SQL Server.
Delo z velikimi nabori podatkov zahteva uporabo virov podatkov in formul, ki jih je mogoče dodeliti. To je edini način za ohranjanje dobrega delovanja aplikacije in zagotavljanje dostopa uporabnikov do vseh informacij, ki jih potrebujejo. Bodite pozorni na opozorila o dodeljevanju, ki identificirajo mesta, kjer dodeljevanje ni mogoča. Če delate z majhnimi nabori podatkov (manj kot 500 zapisov), lahko uporabite poljuben vir podatkov in formulo, ker lahko aplikacija lokalno obdela podatke, če formule ni mogoče dodeliti.
Opomba
Opozorila pooblastil so bila prej označena v Power Apps kot predlogi "modre pike", vendar so bili predlogi delegacij od takrat ponovno razvrščeni kot opozorila. Če podatki v vašem vir podatkov presegajo 500 zapisov in funkcije ni mogoče delegirati, Power Apps morda ne bo mogel pridobiti vseh podatkov in vaša aplikacija bo morda imela napačne rezultate. Opozorila o dodeljevanju vam lahko pomagajo upravljati aplikacijo, da ima pravilne rezultate.
Viri podatkov za pooblastitev
Dodeljevanje je podprto samo za določene tabelarične vire podatkov. Če vir podatkov podpira dodeljevanje, njegova dokumentacija za povezovalnike opisuje to podporo. Na primer, ti tabelarični viri podatkov so najbolj priljubljeni in podpirajo dodeljevanje:
- Power Apps delegirane funkcije in operacije za Microsoft Dataverse
- Power Apps prenosljive funkcije in operacije za SharePoint
- Power Apps prenosljive funkcije in operacije za strežnik SQL
- Power Apps prenosljive funkcije in operacije za Salesforce
Za uvožene Excelove delovne zvezke (ki uporabljajo vir podatkov Dodajanje statičnih podatkov v aplikacijo), zbirke in tabele, shranjene v spremenljivkah konteksta, dodeljevanje ni potrebno. Vsi ti podatki so že v pomnilniku in lahko uporabite celoten jezik Power Apps.
Dodeljive funkcije
Naslednji korak je uporaba samo tistih formul, ki jih je mogoče dodeliti. Tukaj so vključeni elementi formule, ki bi jih bilo mogoče dodeliti. Vendar pa je vsak vir podatkov drugačen in vsi ne podpirajo vseh teh elementov. Preverite za opozorila o dodeljevanju v vaši določeni formuli.
Ti seznami se bodo sčasoma spreminjali. Prizadevamo si, da bi podprli več funkcij in operatorjev z dodeljevanji.
Funkcije filtriranja
Funkcije Filter, Search in LookUp je mogoče dodeliti.
V funkcijah Filter in LookUp jih lahko uporabite s stolpci tabele, da izberete primerne zapise:
- And (vključno &&), Or (vključno ||), Not (vključno !)
- V
- =, <>, >=, <=, >, <
- +, -
- TrimEnds
- IsBlank
- StartsWith, EndsWith
- Konstantne vrednosti, ki so enake po vseh zapisih, kot so lastnostni kontrolnikov ter globalne spremenljivke in spremenljivke konteksta.
Uporabite lahko tudi dele formule, ki vrednotijo na stalno vrednost za vse zapise. Na primer, formule Left( Language(), 2 ), Date( 2019, 3, 31 ) in Today() niso odvisne od nobenih stolpcev zapisov in torej vrnejo isto vrednost za vse zapise. Te vrednosti je mogoče poslati v vir podatkov kot konstanto in ne bodo blokirale dodeljevanja.
Prejšnji seznam ne vključuje teh pomembnih elementov:
- Če
- *, /, Mod
- Concatenate (vključno &)
- ExactIn
- Funkcije manipulacije z nizi: Lower, Upper, Left, Mid, Len itd.
- Signali: Location, Acceleration, Compass itd.
- Spremenljive funkcije: Rand itd.
- Zbirke
Funkcije razvrščanja
Funkciji Sort in SortByColumns je mogoče dodeliti.
V funkciji Sort je lahko formula samo ime enega stolpca in ne more vključevati drugih operaterjev ali funkcij.
Združevalne funkcije
Funkcije Sum, Average, Min in Max je mogoče dodeliti. Trenutno to dodeljevanje podpira samo omejeno število virov podatkov; za podrobnosti glejte seznam dodelitev.
Opomba
Če izraz ni dodeljen, bo deloval le za prvih 500 zapisov (nastavljivih do 2000, glejte Spreminjanje omejitve), pridobljenih iz vira podatkov, in ne bo šlo za dodeljevanje obdelave vseh podatkov v viru podatkov.
Funkcij štetja CountRows, CountA in Count ni mogoče dodeliti.
Drugih združevalnih funkcij, kot so StdevP in VarP ni mogoče dodeliti.
Funkcije oblikovanja tabel
Funkcije AddColumns, DropColumns, RenameColumns in ShowColumns delno podpirajo dodeljevanje. Formule v njihovih argumentih je mogoče dodeliti. Vendar za rezultat teh funkcij velja omejitev števila zapisov brez dodeljevanja.
Kot v tem primeru, izdelovalci pogosto uporabljajo formuli AddColumns in LookUp za spajanje informacij iz ene tabele v drugo, čemur se v jeziku zbirk podatkov na splošno reče »pridružitev«.
AddColumns( Products,
"Supplier Name",
LookUp( Suppliers, Suppliers.ID = Product.SupplierID ).Name
)
Čeprav sta lahko vira podatkov Products in Suppliers dodeljiva ter je funkcija LookUp dodeljiva, rezultat funkcije AddColumns ni dodeljiv. Rezultat celotne formule je omejen na prvi del vira podatkov Products. Ker sta funkcija LookUp in njen vir podatkov dodeljiva, je mogoče ujemanje za Suppliers najti povsod v viru podatkov, tudi če je velik.
Če uporabite funkcijo AddColumns na ta način, mora funkcija LookUp izvesti ločene priklice za vsakega od teh zapisov v vir podatkov Products, kar povzroča veliko omrežnega kramljanja. Če je vir podatkov Suppliers dovolj majhen in se ne spreminja pogosto, bi lahko priklicali funkcijo Collect v možnosti OnStart, da predpomnite vir podatkov v aplikaciji, ko se zažene. Namesto tega lahko svojo aplikacijo prestrukturirate tako, da vključite povezane zapise le, ko jih uporabnik zahteva.
Nedodeljive funkcije
Vse ostale funkcije ne podpirajo dodeljevanja, vključno s temi pomembnimi funkcijami:
- First, FirstN, Last, LastN
- Choices
- Concat
- Collect, ClearCollect
- CountIf, RemoveIf, UpdateIf
- GroupBy, Ungroup
Nedodeljive omejitve
Formule, ki jih ni mogoče dodeliti, bodo obdelane lokalno. To omogoča uporabo celotne širine jezika formul Power Apps. Cena za to pa je naslednja: vse podatke je treba najprej dovesti v napravo, kar lahko vključuje pridobivanje velike količine podatkov prek omrežja. To lahko traja dalj časa in daje vtis, da je aplikacija počasna ali se je morda zrušila.
Da bi se temu izognili, Power Apps nalaga omejitev količine podatkov, ki jih je mogoče obdelati lokalno: privzeto 500 zapisov. To številko smo izbrali, da bi še vedno imeli popoln dostop do majhnih naborov podatkov in bi lahko natančneje določili uporabo velikih naborov podatkov z ogledom delnih rezultatov.
Seveda se svetuje previdnost pri uporabi te storitve, ker lahko zmede uporabnike. Na primer, zamislimo si funkcijo Filter s formulo izbire, ki je ni mogoče dodeliti, po viru podatkov, ki vsebuje milijon zapisov. Ker se filtriranje izvede lokalno, je pregledanih samo prvih 500 zapisov. Če je želeni zapis zapis 501 ali 500.001, potem ni obravnavan ali vrnjen s funkcijo Filter.
Združevalne funkcije lahko prav tako povzročijo zmedo. Vzemimo funkcijo Average za stolpec tega istega vira podatkov z milijonom zapisov. Povprečje v tem primeru ni mogoče dodeliti, ker izraz ni dodeljen (glejte prejšnjo opombo), zato se izračuna povprečje le za prvih 500 zapisov. Če niste previdni, bi si lahko uporabnik vaše aplikacije delni odgovor napačno razlagal kot popoln odgovor.
Spreminjanje omejitve
500 je privzeto število zapisov, ki pa ga lahko spremenite za celotno aplikacijo:
- Na zavihku Datoteka izberite Nastavitve.
- V razdelku Splošno spremenite nastavitev Omejitev števila vrstic podatkov z 1 na 2000.
V nekaterih primerih boste vedeli, da je 2000 (ali 1000 ali 1500) dovolj za potrebe vašega scenarija. Previdno lahko to številko povečate, da ustreza vašemu scenariju. Ko povečate to številko, lahko učinkovitost delovanja vaše aplikacije postane slabša, zlasti pri širokih tabelah z veliko stolpci. A še vedno je najbolje, da dodelite toliko, kot lahko.
Za zagotovitev, da se lahko vaša aplikacija prilagodi velikim naborom podatkov, zmanjšajte to nastavitev nazaj na 1. Vse, česar ni mogoče dodeliti, vrne en zapis, ki bi ga morali zlahka najti, ko preskušate aplikacijo. To lahko pomaga pri preprečevanju presenečenj, ko poskušate aplikacijo za dokazovanje konceptov pretvoriti v produkcijsko.
Opozorila o dodeljevanju
Da bi lažje vedeli, kaj je in kaj ne, Power Apps zagotavlja opozorilo (rumen trikotnik), ko ustvarite formulo, ki vsebuje nekaj, česar ni mogoče pooblastiti.
Opozorila o dodeljevanju se prikažejo samo za formule, ki operirajo na dodeljivih virih podatkov. Če ne vidite opozorila in menite, da formula ni ustrezno dodeljena, preverite vrsto vira podatkov glede na seznam dodeljivih virov podatkov prej v tej temi.
Primeri
Za ta primer boste samodejno ustvarili aplikacijo na treh zaslonih na podlagi tabele strežnika SQL Server z imenom [dbo].[Fruit]. Za informacije o tem, kako ustvariti aplikacijo, lahko uporabite podobna načela v tema o Dataverse na strežnik SQL.

Lastnost Items galerije je nastavljena na formulo, ki vsebuje funkciji SortByColumns in Search, ki ju je obe mogoče dodeliti.
V polje za iskanje vnesite "Apple".
Na vrhu zaslona se za trenutek prikažejo gibljive pike, saj aplikacija komunicira s strežnikom SQL Server, da obdela iskalno poizvedbo. Prikažejo se vsi zapisi, ki izpolnjujejo pogoje iskanja, tudi če vir podatkov vsebuje milijone zapisov.

Rezultati iskanja vključujejo "Apples", "Crab apples" in "Pineapple", ker funkcija Search išče povsod v stolpcu besedil. Če bi želeli najti samo zapise, ki vsebujejo iskalni izraz na začetku imena sadja, lahko uporabite drugo funkcijo, ki jo je mogoče dodeliti, Filter, z bolj kompleksnim iskalnim izrazom. (Za poenostavitev odstranite priklic funkcije SortByColumns.)

Novi rezultati vključujejo "Apples", ne vključujejo pa "Crab apples" ali "Pineapple". A poleg galerije se prikaže rumeni trikotnik (in v sličici zaslona, če leva vrstica za krmarjenje prikazuje sličice), pod delom formule pa se prikaže modra, valovita črta. Vsak od teh elementov označuje opozorilo. Če se s kazalcem miške pomaknete nad trikotnik poleg galerije, se prikaže to sporočilo:

SQL Server je dodeljiv vir podatkov in Filter je dodeljiva funkcija, toda funkcij Mid in Len ni mogoče dodeliti nobenemu viru podatkov.
Je pa delovalo, kajne? No, recimo. Zato pa je to opozorilo in ne rdeča, valovita vijuga.
- Če tabela vsebuje manj kot 500 zapisov, formula deluje odlično. Vsi zapisi se dovedejo v napravo in lokalno se uporabi Filter.
- Če tabela vsebuje več kot 500 zapisov, formula ne vrne zapisov nad vključno 501, tudi če ustrezajo pogojem.
Glejte tudi
Vpliv uporabe funkcij, ki jih ni mogoče dodeliti, in neprimerne omejitve podatkovnih vrstic na učinkovitost delovanja
Nasveti za učinkovitost delovanja in najboljše prakse pri uporabi pooblastitev