Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Odnosi se na: Canvas apps
Copilot Studio
Desktop flows
Model-driven apps
Power Platform CLI
Dataverse functions
Power Pages
Izračunava vrijednosti i izvodi radnje za pojedinačni zapis, uključujući i zapise u retku imenovanih vrijednosti.
Opis
Funkcija With procjenjuje formulu za jedan zapis. Formula može izračunati neku vrijednost i/ili izvoditi radnje, poput izmjene podataka ili rada s nekom vezom. Upotrijebite funkciju ForAll kako biste procijenili neku formulu za sve zapise u tablici zapisa.
Polja zapisa koja se trenutno obrađuju dostupna su unutar formule. Upotrijebite ThisRecord operator ili jednostavno spomenite polja imenom na isti način kao i bilo koju drugu vrijednost. Za imenovanje zapisa koji se obrađuje možete upotrijebiti i As operator, a to vam može pomoći učiniti formulu razumljivijom, a ugniježđene zapise pristupačnijima. Više informacija potražite u primjerima u nastavku i radu u djelokrugu zapisa.
Koristi With se za poboljšanje čitljivosti složenih formula dijeljenjem na manje pod-formule. Ove imenovane vrijednosti funkcioniraju kao jednostavne lokalne varijable ograničene na područje primjene With. Istu sintaksu zapisa u retku koja se koristi s funkcijom UpdateContext može se koristiti s With. Preferira With se nad kontekstnim ili globalnim varijablama jer se ona sama nalazi, lako ga je razumjeti i može se koristiti u bilo kojem deklarativnom kontekstu formule.
Koristi With se za pristup poljima zapisa koja vraćaju funkcije kao što su Zakrpa ili Podudaranje. With sadrži vrijednost tih funkcija dovoljno dugo da se koristi u daljnjim izračunima ili akcijama.
Ako je argument Zapis u With pogreška, funkcija će vratiti tu pogrešku i formula se neće procijeniti.
Sintaksa
With( Zapis, formula )
-
Zapis– Obavezno. Zapis na koji se djeluje. Za vrijednosti naziva koristite ugrađenu sintaksu
{ name1: value1, name2: value2, ... } - Formula – Obavezno. Formula koju treba procijeniti za zapis. Formula može upućivati na bilo koje polje za zapis izravno kao opseg zapisa.
Primjeri
Jednostavne imenovane vrijednosti
With( { radius: 10,
height: 15 },
Pi() * (radius*radius) * height
)
// Result: 4712.38898038 (as shown in a label control)
Ovaj primjer koristi zapis imenovanih vrijednosti radi izračuna volumena nekog cilindra. With koristi se za snimanje svih ulaznih vrijednosti zajedno, što olakšava njihovo odvajanje od samog izračuna.
Ugniježđene With
With( { AnnualRate: RateSlider/8/100, // slider moves in 1/8th increments and convert to decimal
Amount: AmountSlider*10000, // slider moves by 10,000 increment
Years: YearsSlider, // slider moves in single year increments, no adjustment required
AnnualPayments: 12 }, // number of payments per year
With( { r: AnnualRate/AnnualPayments, // interest rate
P: Amount, // loan amount
n: Years*AnnualPayments }, // number of payments
r*P / (1 - (1+r)^-n) // standard interest calculation
)
)
U ovom se primjeru With ugniježđene funkcije za stvaranje izračuna s dvije razine za mjesečne otplate hipoteka. Sve dok nema sukoba, sve vanjske imenovane With vrijednosti dostupne su unutar unutarnjih .With
Budući da se klizači mogu pomicati samo u koracima od 1, klizači se dijele ili množe kako bi se učinkovito stvorio prilagođeni priraštaj. U slučaju kamatne stope, RateSlider ima svojstvo Max postavljeno na 48, podijeljeno s 8 za priraštaj od 1/8-postotnog boda i podijeljeno sa 100 da bi se pretvorilo iz postotka u decimalni iznos, pokrivajući raspon od 0,125 % do 6 %. U slučaju iznosa zajma, AmountSlider ima svojstvo Max postavljeno na 60 i pomnoženo s 10.000, pokrivajući raspon od 10.000 do 600.000.
Automatski With se ponovno izračunava kako se klizači pomičite i prikazuje se nova uplata kredita. Ne koriste se nikakve varijable i nema potrebe za korištenjem svojstva OnChange klizača.
Evo detaljnih uputa za stvaranje ove aplikacije:
- Stvorite novu aplikaciju.
- Dodajte kontrolu Slider i nazovite je RateSlider. Postavite svojstvo Max na 48.
- Dodajte kontrolu Label s lijeve strane klizača. Postavite njegovo svojstvo Text na "Interest Rate:".
- Dodajte kontrolu Label s desne strane klizača. Postavite svojstvo Text na formulu RateSlider/8 & " %".
- Dodajte još jednu kontrolu Slider i nazovite je AmountSlider. Postavite svojstvo Max na 60.
- Dodajte kontrolu Label s lijeve strane ovog klizača. Postavite njegovo svojstvo Text na "Loan Amount:".
- Dodajte kontrolu Label s desne strane ovog klizača. Postavite njegovo svojstvo Text na formulu AmountSlider/8 * 10000.
- Dodajte još jednu kontrolu Slider i nazovite je YearsSlider. Postavite svojstvo Max na 40.
- Dodajte kontrolu Label s lijeve strane ovog klizača. Postavite njegovo svojstvo Text na "Number of Years:".
- Dodajte kontrolu Label s desne strane ovog klizača. Postavite njegovo svojstvo Text na formulu YearsSlider.
- Dodajte kontrolu Label i postavite njeno svojstvo Text na formulu prikazanu iznad.
- Dodajte kontrolu Label s lijeve strane zadnje kontrole oznake. Postavite njegovo svojstvo Text na "Recurring Monthly Payment:".
Primarni ključ vraćen iz funkcije Patch
With( Patch( Orders, Defaults( Orders ), { OrderStatus: "New" } ),
ForAll( NewOrderDetails,
Patch( OrderDetails, Defaults( OrderDetails ),
{ Order: OrderID, // from With's first argument, primary key of Patch result
Quantity: Quantity, // from ForAll's NewOrderDetails table
ProductID: ProductID } // from ForAll's NewOrderDetails table
)
)
)
Ovaj primjer dodaje zapis u tablicu Order u SQL Serveru. Zatim koristi vraćeni primarni ključ za narudžbu, koji je vratila funkcija Patch u polje OrderID kako bi se stvorili povezani zapisi u tablici OrderDetails.
Izdvojene vrijednosti s regularnim izrazom
With(
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
Time( Value( hours ), Value( minutes ), Value( seconds ) )
)
// Result: 2:01 AM (as shown in a label control, use the Text function to see the seconds)
Ovaj primjer izdvaja sate, minute i sekunde iz ISO 8601 vrijednosti trajanja, a zatim koristi te podrezultate za stvaranje vrijednosti datum/vrijeme.
Imajte na umu da, iako podrezultati sadrže brojeve, oni su i dalje u tekstnom nizu. Upotrijebite funkciju Value za pretvaranje u broj prije izvođenja matematičkih operacija.
Mapirajte zapis u komponenti
Pogledajte Mapirajte zapis.