Razumevanje dodeljevanja v aplikaciji s platnom
Power Apps vključuje zmogljiv nabor funkcij za filtriranje, razvrščanje in oblikovanje tabel s podatki v aplikaciji s platnom: Filter, Sort in AddColumns, če omenimo samo 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.
Dodeljevanje je, kjer ekspresivnost formul Power Apps izpolni potrebo po zmanjšanju premika podatkov po omrežju. Skratka, storitev Power Apps bo dodelila obdelavo podatkov viru podatkov, namesto da bi premaknila podatke v aplikacijo za lokalno obdelavo.
Kjer pa to postane zapleteno in kar je razlog za obstoj tega članka, je, da vsega, kar je mogoče izraziti s formulo v storitvi Power Apps, ni mogoče dodeliti vsakemu viru podatkov. Jezik v storitvi Power Apps posnema Excelov jezik formul, zasnovan s popolnim in takojšnjim dostopom do celotnega delovnega zvezka v pomnilniku, z različnimi vrstami številčnih funkcij in funkcij manipulacije besedila. Rezultat je, da je jezik v storitvi Power Apps veliko bogatejši, kot lahko večina virov podatkov podpira, vključno z zmogljivimi mehanizmi zbirk podatkov, kot je strežnik SQL.
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 o dodeljevanju so bila prej v storitvi Power Apps označena kot predlogi »modra pika«, toda predlogi o dodeljevanju so bili od tedaj prerazvrščeni med opozorila. Če podatki v vašem viru podatkov presegajo 500 zapisov in funkcije ni mogoče dodeliti, storitvi Power Apps morda ne bo uspelo pridobiti vseh podatkov in vaša aplikacija bi lahko 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:
- Funkcije in operacije Power Apps, ki jih je mogoče dodeliti, za Microsoft Dataverse
- Funkcije in operacije Power Apps, ki jih je mogoče dodeliti, za SharePoint
- Funkcije in operacije Power Apps, ki jih je mogoče dodeliti, za SQL Server
- Funkcije in operacije Power Apps, ki jih je mogoče dodeliti, 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 uporabiti je mogoče poln jezik v storitvi 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
Opomba
V je delegiran samo za stolpce na osnovi vir podatkov. Na primer, če je vir podatkov Računi mizo potem
Filter(Accounts, Name in ["name1", "name2"])delegati na vir podatkov za oceno. Vendar paFilter(Accounts, PrimaryContact.Fullname in ["name1", "name2"])od takrat ne delegira Polno ime stolpec je v drugi tabeli (Primarni stik) kot Računi. Izraz se oceni lokalno. - =, <>, >=, <=, >, <
- +, -
- 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 polnega obsega jezika formul za uporabo v storitvi 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.
V izogib temu storitev Power Apps določa omejitev količine podatkov, ki jih je mogoče obdelati lokalno: privzeto je to 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:
- 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 boste lažje vedeli, kaj se in česar se ne da dodeliti, storitev Power Apps zagotovi opozorilo (rumeni trikotnik), ko ustvarite formulo, ki vsebuje kaj, česar ni mogoče dodeliti.
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 ustvarite aplikacijo, lahko podobna načela v temi o Dataverse uporabite za SQL Server.

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
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za