Share via


Nopeat laskutoimitukset

Power Fx -lausekkeet ovat tehokkaita ja tekevät monia taustalaskutoimituksia puolestasi automaattisesti. Vaikka Power Fx automatisoi monia asioita puolestasi, voit hienosäätää laskutoimituksia niin, että ne ovat mahdollisimman nopeita.

Tietojen nouto

Eksplisiittisen sarakkeen käyttö

Eksplisiittinen sarakkeiden valinta (ECS) -ominaisuus on oletusarvoisesti käytössä kaikissa uusissa sovelluksissa. Jos se ei ole oletusarvoisesti käytössä sovelluksessa, se tulee ottaa käyttöön. ECS vähentää automaattisesti haettavien sarakkeiden määräksi vain sovelluksessa käytettävät sarakkeet. Jos ECS ei ole käytössä, saatetaan tietoja noutaa liikaa. Tämä voi vaikuttaa suorituskykyyn. Joskus sovelluksen hakiessa tietoja kokoelmien kautta sarakkeen alkuperäiset historiatiedot tai lähde saatetaan kadottaa. Emme tiedä, onko se käytössä, ja se jätetään pois ECS:n avulla. Yleensä ECS pakotetaan toimimaan puuttuvassa sarakkeessa käyttämällä PowerFx-lauseketta ShowColumns kokoelman viitteen jälkeen tai käyttämällä sitä ohjausobjektissa.

Kuvien huolellinen käyttö valikoimissa, taulukoissa ja lomakkeissa

Käytä kuvien Dataverse-pikkukuvaversioita valikoimissa ja taulukoissa. Dataverse-pikkukuvat ovat pieniä, noin 1 kilotavun kokoisia. Ne tallennetaan tekstiin sidottuna tietueen osana, ja ne ovat hyödyllisiä ja nopeita näyttää kokoelmissa näkyvissä ohjausobjekteissa. Kaikki muut kuvaviitteet, kuten kaikki SharePoint-kuvat, vaativat erillisen kutsun. Niitä ei tule asettaa valikoimaan tai taulukkoon. Aseta kuvat, jotka vaativat erillisen kutsun tietolomakkeissa. Koko kuvaa ei koskaan tulisi näyttää oletusarvoisesti. Yksityiskohtaiset, kokonaiset kuvat voivat olla hyödyllisiä ja tärkeitä käyttäjille. Voit kuitenkin asettaa nämä kuvat käyttäjien saataville käyttäjän nimenomaisella toiminnolla, esimerkiksi painikkeella tai siirtymällä erilliselle sivulle. SharePoint sisältää valikoiman keskikokoisia kuvia, joita voi käyttää lomakkeella, joissa koko kuvaa ei voi näyttää. Dataversessa on vain kaksi kokoa: pikkukuva ja koko kuva.

Laskutoimitukset

Kaavojen jako App.formula-funktion avulla

App.formulas-funktion ja nimettyjen kaavojen käyttö voi auttaa sovelluksen latausnopeudessa ja sivuilla siirtymisessä, koska niiden avulla Power Fx voi päättää, milloin kaava arvioidaan. Tämä tarkoittaa, että sitä ei tarvitse välttämättä arvioida OnStartissa. Lisäksi nimetyt kaavat voivat yleensä auttaa myös nopeuden parantamisessa. Erityisesti pitkissä komentosarjoissa jakaminen nimetyiksi kaavoiksi mahdollistaa aiempaa tehokkaammat laskutoimitukset, koska Power Fx voi ajoittaa työn. Myös uudelleenkäyttö on mahdollista. Lisätietoja on kohdassa Sovellusten kaavat.

Concurrent-funktion käyttö

Käytä Concurrent-funktiota, jos haluat antaa mahdollisuuden suorittaa kaavat samanaikaisesti. Valitse huolellisesti samanaikaisuuden käyttökohteet. Se voi mahdollistaa nopeuden kasvamisen pienessä mittakaavassa, mutta jos suoritetaan toisistaan riippuvaisia kohteita, ajoitus- ja rajoitusongelmat ovat mahdollisia.

Merkittävien päivitysten siirto muuhun kuin estävään käyttöliittymän vaiheeseen

Tietolähteiden suuret päivitykset voivat kestää jonkin aikaa. Mutta käyttäjät odottavat käyttöliittymän palauttavan hallinnan heille nopeasti. Tehtävät voivat olla joko peräkkäisiä, jolloin päivitys on suoritettava loppuun ennen kuin käyttäjä voi suorittaa muita toimintoja, tai asynkronisia (päivitys voi päättyä käyttäjän toiminnoista riippumatta).

Esimerkki aikaa vievästä synkronisesta tehtävästä on paikan vahvistaminen konsertissa. Useimmille aikaa vieville synkronisille tehtäville, kuten tämä, asetetaan usein tilanneilmaisin. Tämä käyttöliittymä itse asiassa estää käyttäjän, mutta varmistaa, että tehtävä on valmis, ennen kuin muut käyttöliittymäelementit päivitetään. Tämä lähestymistapa ei välttämättä toimi sovelluksessasi. Yritykset käsittelevät yleensä pitkiä peräkkäisiä vaiheita eksplisiittisenä liiketoiminnan vaiheena. Saat hyväksynnän seuraavaan vaiheeseen siirtymisestä liiketoimintaprosessin signaalin kautta. Esimerkkinä tästä on hyväksyntä. Hyväksyntä voi tulla nopeasti tai se voi viivästyä. Käyttöliittymässä voit ilmoittaa prosessin valmistumisesta useilla tavoilla. Voit ottaa käyttöön painikkeen, näyttää viestin, lähettää sähköpostiviestin tai ottaa käyttöön osan käyttöliittymästä, kuten valikon vaihtoehdon.

Esimerkki asynkronisesta tehtävästä on tilauksen tekeminen. Asiakas päivittää tilauskorin, käy läpi tilauksen ja tekee sitten tilauksen. Päivityksiä on kuitenkin tehtävä useita, ennen kuin asiakkaalle annetaan vahvistettu toimituspäivä. Tässä esimerkissä lähetyspäivämäärää ei voi antaa heti helposti. , voit siirtää tämän päivityksen osan sähköpostiin, joka lähetetään asiakkaalle myöhemmin.

Synkronisissa tehtävissä käytetään usein koodia Power Appsissa käyttöliittymän estotehtävissä. Koodi esimerkiksi odottaa, kunnes se saa palautusarvon, ja vapauttaa sitten tilanneilmaisimen. Tällaiset tilanteet on paras minimoida. Tehtävissä, joissa käytetään eksplisiittisiä liiketoimintavaihetta tai asynkronisia tehtäviä, on tavallista käyttää ulkoista palvelua suoritettaessa tehtävää, kuten Dataverse-toimintoa, tallennettua menettelyä tai Power Automate -työnkulkua.

Aseta ForAll oikein

Jos sinulla on lauseke, jossa on ForAll, ja kokoelma, joka näyttää seuraavalta:

ForAll(x, Collect(y, { … }))

Käännä tämä sitten muotoon

Collect(y, ForAll(x, { … }))

Ensimmäisessä mallissa kaikki kokoelman y riippuvat säännöt saavat ilmoituksen muutoksista ja ne arvioidaan x:n kunkin iteroinnin mukaan. Toisessa mallissa nämä säännöt arvioidaan vain kerran.

Gallery.AllItems-viittausten välttäminen

Kun käytössä on Power Apps, on paras välttää Gallery.AllItems-viittauksia, jos käyttäjän arvoja ei tarvitse poistaa. Tämä johtuu siitä, että joka kerta kun AllItems luetaan, luodaan uusi tulostaulukko. Sen sijaan kannattaa ottaa käyttöön Gallery.AllItemsCount, jos haluat vain tietää, miten monta kohdetta on ladattu.

Gallery.TemplateSize-funktion huolellinen käyttö

Jotta joustavan korkeuden valikoimien oikea hahmonnus varmistetaan, on tärkeää määrittää kohtuullinen oletuskoko. Aluksi yritetään hahmontaa niin monta riviä kuin tämän arvon avulla on mahdollista. Jos oletuskooksi määritetään 0, yritetään hahmontaa kaikki, paitsi muutaman reunatapaukset. Jos käytössä on kaava, varmista, että määritettynä on vähimmäisarvo, kun kaavan arvio voi olla 0. Voit esimerkiksi käyttää kaavaa Max (20, varFoo + rectBar.Height). Jos tällöin varFoo ja rectBar.Height eivät ole vielä käytettävissä, voidaan käyttää kohtuullista arvoa 20.

Ennen muutosten havaitsemista on toinen viive, joka mahdollistaa kirjoittamisen loppuun kunkin kirjoittamisen muutosten havaitsemisen sijaan.