„Power Apps“ naudojami operatoriai ir identifikatoriai
Taikoma: drobės programoms Modeliu pagrįstoms programoms Power Pages
Kai kurie operatoriai priklauso nuo autoriaus kalbos. Daugiau informacijos apie kalbos palaikymą drobės programose žr. Visuotinės programos.
Simbolis | Tipas | Pavyzdžiui | Aprašą |
---|---|---|---|
"..." | Identifikatorius | "Paskyros pavadinimas" | Identifikatoriai, kuriuose yra specialių simbolių, įskaitant tarpus, pateikiami viengubose kabutėse |
"..." | Teksto eilutė | "Sveikas, pasauli" | Teksto eilutės yra pateikiamos dvigubose kabutėse |
$"..." | Styginių interpoliacija | $"Brangusis {FirstName}", | Formulės, įdėtos į teksto eilutę |
. | Ypatybių išrinkiklis | Slankiklis1.Reikšmė Color.Red Greitinimas.X |
Gauna ypatybę iš lentelės, valdiklio, signalo arba išvardijimo. Atgaliniam suderinamumui, ! gali būti naudojamos. |
. [priklauso nuo kalbos] |
Dešimtainis skyriklis | 1.23 | Skyriklis, naudojamas sveikajai skaičiaus daliai atskirti nuo trupmenos dalies. Simbolis priklauso nuo kalbos. |
( ) | Skliausteliai | Filtras (T, A < 10) (1 + 2) * 3 |
Užtikrina pirmumo tvarką ir grupuoja mažesnes išraiškas į didesnę išraišką |
+ | Aritmetiniai operatoriai | 1 + 2 | Sudėtis |
- | 2 - 1 | Atimtis | |
* | 2 * 3 | Daugyba | |
/ | 2 / 3 | Dalyba (taip pat žr. funkciją Mod) | |
^ | 2 ^ 3 | Kėlimas laipsniu, atitinka funkciją Power | |
% | 20% | Procentinė dalis (atitinka "* 1/100") | |
= | Palyginimo operatoriai | Kaina = 100 | Lygu |
> | Kaina > 100 | Daugiau nei | |
>= | Kaina >= 100 | Daugiau arba lygu | |
< | Kaina < 100 | Mažiau nei | |
<= | Kaina <= 100 | Mažiau arba lygu | |
<> | Kaina <> 100 | Nelygu | |
& | Eilučių sujungimo operatorius | "labas" > " &; "pasaulis" | Kelios eilutės rodomos nepertraukiamai |
&arba) ir | Loginiai operatoriai | Kaina < 100 &&; Slider1.Value = 20 arba Kaina < 100 ir 1 slankiklio reikšmė = 20 |
Loginis jungtukas, atitinkantis funkciją ir |
|| arba Arba | Kaina < 100 || Slankiklis1.Reikšmė = 20 arba Kaina 100 arba Slankiklis1.Vertė < = 20 | Loginė disjunkcija, atitinka funkciją Arba | |
! arba Ne | ! (Kaina < 100) arba ne (Kaina < 100) | Loginė inversija, atitinka funkciją Ne | |
tikslus | Narystės operatoriai | Gallery1.Selected exactin SavedItems | Priklausymas rinkiniui ar lentelei |
tikslus | "Windows" tiksliai "Rodyti langus "Windows" operacinėje sistemoje..." | Poeilučio tikrinimas (skiriamos didžiosios ir mažosios raidės) | |
į | Gallery1.Pasirinkta "SavedItems" | Priklausymas rinkiniui ar lentelei | |
į | "The" skiltyje "Klaviatūra ir monitorius..." | Poeilučio tikrinimas (neskiriamos didžiosios ir mažosios raidės) | |
@ | Disambiguation operatorius | ManoLentelė[@fieldname] | Lauko dviprasmiškumo pašalinimas |
@ | [@MyVariable] | Visuotinis dviprasmiškumo pašalinimas | |
, [priklauso nuo kalbos] |
Sąrašo skyriklis | Jei( x < 10, "žemas", "geras" ) { X: 12, Y: 32 } [ 1, 2, 3 ] |
Atskiria: Šis simbolis priklauso nuo kalbos. |
; [priklauso nuo kalbos] |
Formulių susiejimas | Rinkti(T, A); Naršyti(S1, "") | Atskiriamos funkcijų iškvietos elgsenos ypatybėse. Susiejimo operatorius priklauso nuo kalbos. |
Kaip | Kaip operatorius | Visi klientai kaip klientas | Perrašo ThisItem ir ThisRecord galerijose bei įrašo aprėpties funkcijose. Kaip naudinga norint pateikti geresnį, konkretų pavadinimą ir yra ypač svarbi įdėtuose scenarijuose. |
Savarankiškai | Savarankiškas operatorius | Savarankiškas.Užpildykite | Prieiga prie esamo valdiklio ypatybių |
pirminis | pirminis operatorius | Tėvas.Užpildykite | Prieiga prie valdiklio konteinerio ypatybių |
Šis elementas | ThisItem operatorius | ThisItem.FirstName | Prieiga prie galerijos arba formos valdiklio laukų |
Šis įrašas | ThisRecord operatorius | ThisRecord.FirstName | Prieiga prie viso įrašo ir atskirų įrašo laukų ForAll, Sum, With ir kitose įrašo aprėpties funkcijose. Galima perrašyti naudojant operatorių As. |
Pastaba.
Operatorių @ taip pat galima naudoti įrašo objekto tipui tikrinti duomenų šaltinis. Pavyzdžiui, Collect(coll,Account@{'Account Number: 1111')
Operatoriai „in“ ir „exactin“
Naudokite operatorius in ir exactin norėdami rasti eilutę duomenų šaltinyje, pavyzdžiui, rinkinyje arba importuotoje lentelėje. Operatorius in identifikuoja atitiktis neskirdamas didžiųjų ir mažųjų raidžių, o operatorius exactin identifikuoja atitiktis tik tada, jei didžiųjų ir mažųjų raidžių rašyba sutampa. Toliau pateiktas pavyzdys.
Sukurkite arba importuokite rinkinį pavadinimu Atsargos ir nustatykite, kad jis būtų rodomas galerijoje, kaip aprašyta pirmoje procedūroje, pateiktoje dalyje Rodyti vaizdus ir tekstą galerijoje.
Nustatykite galerijos ypatybės Items reikšmę pagal šią formulę:
Filter(inventorius, "E" produkto pavadinime)Galerijoje rodomi visi produktai, išskyrus „Callisto“, nes šis produkto pavadinimas yra vienintelis, kuriame nėra jūsų nurodytos raidės.
Pakeiskite galerijos ypatybės Items reikšmę pagal šią formulę:
Filtras (inventorius, "E" tikslus produkto pavadinimas)Galerijoje rodomas tik pavadinimas „Europa“, nes tik šiame pavadinime yra raidė, kurią nurodėte rasti pagal nurodytas sąlygas.
Operatoriai ThisItem, ThisRecord ir As
Keli valdikliai ir funkcijos taiko formules atskiriems lentelės įrašams. Formulėje norėdami nurodyti atskirą įrašą, naudokite:
Operatorius | Taikoma (kam) | Aprašo |
---|---|---|
Šis elementas | Galerijos valdymas Formos valdiklio redagavimas Rodyti formos valdiklį |
Numatytasis dabartinio įrašo, esančio galerijoje arba formos valdiklyje, pavadinimas. |
Šis įrašas | "ForAll", "Filter ", "With", "Sum" ir kitos įrašų aprėpties funkcijos | Numatytasis dabartinio įrašo, esančio ForAll ir kitose įrašo aprėpties funkcijose, pavadinimas. |
Kaippavadinimas | Galerijos valdymas "ForAll", "Filter ", "With", "Sum" ir kitos įrašų aprėpties funkcijos |
Nurodo dabartinio įrašo pavadinimą, pakeisdamas numatytąjį ThisItem arba ThisRecord. Naudokite As norėdami supaprastinti formules ir išvengti dviprasmiškumo komponuodami. |
ThisItem operatorius
Pavyzdžiui, šiame galerijos valdiklyje, Elementai nustatyta kaip Darbuotojų duomenų šaltinis (toks kaip Darbuotojai lentelė įtraukta Northwind Traders pavyzdys):
Employees
Pirmasis galerijos elementas yra kiekvienam darbuotojui sukurtas šablonas. Šablone esamam elementui nurodyti nuotraukos formulėje naudojamas ThisItem:
ThisItem.Picture
Atitinkamai, vardo ir pavardės formulė taip pat naudoja ThisItem:
ThisItem.'First Name' & " " & ThisItem.'Last Name'
Operatorius ThisRecord
Šis įrašas naudojamas funkcijose, turinčiose įrašo aprėptį. Pavyzdžiui, mes galime naudoti funkciją Filter su mūsų galerijos ypatybe Elementais, kad būtų rodomi tik vardai, prasidedantys raide M:
Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )
Šis įrašas yra neprivalomas ir numanomas tiesiogiai naudojant laukus, pavyzdžiui, šiuo atveju galėjome parašyti:
Filter( Employees, StartsWith( 'First Name', "M" ) )
Nors ir yra pasirinktinis, naudojant šį ThisRecord galima supaprastinti formules ir išvengti dviprasmiškų situacijų, kai lauko pavadinimas taip pat gali būti ryšio pavadinimas. "ThisRecord" yra neprivalomas, o "ThisItem" visada reikalingas.
Naudokite ThisRecord norėdami nurodyti visą įrašą su Patch, Collect ir kitomis įrašo aprėpties funkcijomis. Pavyzdžiui, ši formulė pakeičia visų neaktyvių darbuotojų būseną į aktyvią:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees,
Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )
Operatorius „As“
Naudokite operatorių As norėdami suteikti įrašui pavadinimą galerijoje arba įrašo aprėpties funkcijoje, kuris pakeis numatytąjį ThisItem arba ThisRecord. Suteikus pavadinimą įrašui, jūsų formulės taps suprantamesnės, be to, to gali prireikti norint pasiekti komponuotus įrašus kitose aprėptyse.
Pavyzdžiui, galite pakeisti mūsų galerijos ypatybę Elementai ir norėdami nurodyti, kad dirbame su darbuotoju, naudoti As:
Employees As Employee
Nuotraukos ir vardo formulės koreguojamos norint naudoti šį pavadinimą dabartiniam įrašui:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
Kaip taip pat galima naudoti su įrašų aprėpties funkcijomis, kad pakeistumėte numatytąjį pavadinimą ThisRecord. Galime pritaikyti tai ankstesniame pavyzdyje, kad aprašytumėme įrašą, su kuriuo dirbame:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees As Employee,
Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )
Komponuojant galerijas ir įrašo aprėpties funkcijas, ThisItem ir ThisRecord visada nurodo giliausią vidinę aprėptį, paliekant išorinėje išorinėse aprėptyse esančius įrašus nepasiekiamus. Naudokite As norėdami padaryti visas įrašo aprėptis pasiekiamas kiekvienai iš jų suteikiant unikalų pavadinimą.
Pavyzdžiui, ši formulė, komponuodama dvi ForAllfunkcijas, sukuria šachmatų lentos modelį kaip teksto eilutę:
Concat(
ForAll( Sequence(8) As Rank,
Concat(
ForAll( Sequence(8) As File,
If( Mod(Rank.Value + File.Value, 2) = 1, " X ", " . " )
),
Value
) & Char(10)
),
Value
)
Nustačius žymos valdiklio ypatybę Tekstas, formulė pateikia rezultatą:
Išsiaiškinkime, kas vyksta:
- Pradėsime nuo pavadinimo neturinčios lentelės su 8 sunumeruotais įrašais iteracijos naudojant funkciją Seka. Šis ciklas taikomas kiekvienai lentos eilutei, kuri paprastai vadinama rangu (Rangas), todėl mes suteiksime šį pavadinimą.
- Kiekvienai eilutei mes atliksite kitos pavadinimo neturinčios lentelės iš 8 stulpelių iteraciją, be to, suteiksime bendrą pavadinimą Failas.
- Jei Rank.Value + File.Value yra nelyginis skaičius, kvadratėlis pažymimas X, o priešingu atveju – tašku. Ši formulės dalis nurodo abu ForAll ciklus. Tai galima padaryti naudojant operatorių As.
- "Concat" naudojamas du kartus, pirmiausia stulpeliams surinkti, o tada eilutėms, o "Char(10)" įmetamas, kad būtų sukurta nauja eilutė.
Panašiam pavyzdžiui galima naudoti Galerija valdiklių kompoziciją, o ne ForAll funkcijas. Pradėkime nuo vertikalios galerijos Rangas. Šis galerijos valdiklis turės elementų formulę:
Sequence(8) as Rank
Šioje galerijoje sukursime Failo horizontalią galeriją, kuri bus kartojama kiekvienam Rango su ypatybe Elementai:
Sequence(8) as File
Ir galiausiai šioje galerijoje pridėsime valdiklį Žyma, kuris bus sukurtas kiekvienam Failui ir kiekvienam Rangui. Mes padidinsime dydį, kad būtų užpildyta visa vieta, ir formulėje naudosime ypatybę Užpildyti, kad suteiktumėme spalvą:
If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )
Patys ir pirminiai operatoriai
Yra trys keliai patekti į valdiklį ir jo ypatybes formulėje:
Metodas | Aprašas |
---|---|
Pagal valdiklio pavadinimą | Visi valdikliai gali būti prieinami pagal jų vardą iš bet kurios vietos programoje. Pavyzdžiui, Etiketės1užpildymas reiškia valdiklio nuosavybės užpildymą, kurio vardas yra Etiketė1. |
Savarankiškas operatorius | Dažnai patogu rašant formulę daryti nuorodą į kitą to paties valdiklio nuosavybę. Vietoj naudojimo absoliučios nuorodos vardu, lengviau ir patogiau naudoti atitinkamą nuorodą į asmenį pats. Pats operatorius pateikia lengvą prieigą prie esamo valdiklio. Pavyzdžiui, Patsužsipildantis reiškia esamo valdiklio spalvą. |
pirminis ūkio subjektas | Keletas pagrindinių kitų valdiklių, tokių kaipEkranas ir Galerijos valdikliai. Prieglobos valdiklis yra vadinamas Pagrindiniu. Kaip Pats operatorius, Valdantis operatorius suteikia paprastą nuorodą į talpyklės valdiklį. Pavyzdžiui, Pagrindinis.užpildymas reiškia valdiklio nuosavybės pildymą, kuris turi esamą valdiklį. |
Savęs ir pirminis yra operatoriai, o ne pačių valdiklių savybės. Nuoroda į Pagrindinio.pagrindinis, Pats.pagrindinis arba Pagrindinis.pats nėra palaikoma.
Identifikatorių pavadinimai
Kintamųjų, duomenų šaltinių, stulpelių ir kitų objektų pavadinimuose galima naudoti bet kokį Unicode.
Naudokite viengubas kabutes aplink pavadinimą, kuriame yra tarpas arba kitas specialusis simbolis.
Naudokite dvi viengubas kabutes, kad nurodytumėte vieną viengubą kabutę pavadinime. Jei pavadinime nėra specialiųjų simbolių, viengubų kabučių nereikia.
Toliau pateikiami keli stulpelio pavadinimų, kurių galima pamatyti lentelėje, pavyzdžiai, ir kaip jie vaizduojami formulėje:
Stulpelio pavadinimas duomenų bazėje | Stulpelio nuoroda formulėje |
---|---|
SimpleName | SimpleName |
NameWith123Numbers | NameWith123Numbers |
Pavadinimas su tarpais | 'Name with spaces' |
Pavadinimas su "dvigubomis" kabutėmis | 'Name with "double" quotes' |
Pavadinimas su 'viengubomis' kabutėmis | 'Name with ''single'' quotes' |
Pavadinimas su ženklu @ | 'Name with an @ at sign' |
Dvigubos kabutės naudojamos siekiant nurodyti teksto eilutes.
Rodomi pavadinimai ir loginiai pavadinimai
Kai kuriuose duomenų šaltiniuose, pvz., „SharePoint“ ir „Microsoft Dataverse“, ta pati duomenų lentelė ar stulpelis turi du skirtingus pavadinimus:
Loginis pavadinimas – vardas, kuris garantuotai bus unikalus, po sukūrimo nesikeičia, paprastai neleidžia tarpų ar kitų specialiųjų simbolių ir nėra lokalizuotas į skirtingas kalbas. Todėl pavadinimas gali būti neaiškus. Šiuos pavadinimus naudoja profesionalūs kūrėjai. Pavyzdžiui, cra3a_customfield. Šis pavadinimas taip pat gali būti vadinamas schemos pavadinimu arba tiesiog pavadinimu.
Rodomas vardas – vardas, kuris yra patogus vartotojui ir skirtas matyti galutiniams vartotojams. Šis pavadinimas gali nebūti unikalus, jis laikui bėgant gali keistis, jame gali būti tarpų ir kitų „Unicode“ simbolių, jį galima lokalizuoti kitomis kalbomis. Remiantis prieš tai pateiktu pavyzdžiu, rodomas pavadinimas gali būti Pasirinktinis laukas ir turėti tarpą tarp žodžių.
Rodomus pavadinimus lengviau suprasti, todėl drobės programose bus siūloma rinktis juos, o ne loginius pavadinimus. Nors loginiai vardas nesiūlomi, jie vis tiek gali būti naudojami, jei bus įvesti netiesiogiai.
Pavyzdžiui, įsivaizduokite, kad į lentelę įtraukėte pasirinktinį lauką Dataverse. Sistema priskirs loginį pavadinimą, kurį galėsite modifikuoti tik kurdami lauką. Turėtumėte gauti panašų rezultatą:
Kuriant nuorodą į objekto Klientai lauką, bus siūloma naudoti 'Pasirinktinis laukas', nes tai yra rodomas pavadinimas. Reikia naudoti viengubas kabutes, nes šiame pavadinime yra tarpas:
Pasirinkus pasiūlymą, formulės juostoje rodoma 'Pasirinktinis laukas' ir gaunami duomenys:
Nors ir nesiūloma, taip pat galima naudoti šio lauko loginį pavadinimą. Bus gaunami tie patys duomenys. Pavienės kabutės nebūtinos, nes šiame pavadinime nėra tarpų ar specialiųjų simbolių:
Sistemoje užtikrinamas susiejimas tarp formulėse matomų rodomų pavadinimų ir loginių pavadinimų. Kadangi loginius pavadinimus būtina naudoti norint sąveikauti su duomenų šaltiniu, naudojant šį susiejimą esamas rodomas pavadinimas konvertuojamas į loginį pavadinimą automatiškai ir tai matoma tinklo sraute. Šis susiejimas taip pat naudojamas norint sugrįžti prie loginių pavadinimų, kad būtų pradėti naudojami nauji rodomi pavadinimai, pvz., jei pasikeičia rodomas pavadinimas arba kūrėjas redaguoja programą kita kalba.
Pastaba.
Loginiai pavadinimai nėra verčiami perkeliant programą iš vienos aplinkos į kitą. „Dataverse“ Sistemos lentelių ir laukų pavadinimų atveju tai neturėtų būti problema, nes loginiai pavadinimai yra nuoseklūs visose aplinkose. Tačiau bet kokie kiti pasirinktiniai laukai, pvz., cra3a_customfield pirmiau pateiktame pavyzdyje, gali turėti kitokį aplinkos priešvardį (šiuo atveju cra3a). Rodomiems pavadinimams teikiama pirmenybė, nes juos galima sugretinti su rodomais pavadinimais naujoje aplinkoje.
Pavadinimo dviprasmiškumo pašalinimas
Kadangi rodomi pavadinimai nėra unikalūs, tas pats rodomas pavadinimas toje pačioje lentelėje gali būti rodomas daugiau nei vieną kartą. Kai taip nutinka, vieno ar kelių nesuderinamų vardų loginis pavadinimas bus pridėtas prie rodomo pavadinimo pabaigos skliausteliuose. Remiantis pirmiau pateiktu pavyzdžiu, jei būtų antras laukas su tokiu pačiu rodomu pavadinimu Pasirinktinis laukas ir loginiu pavadinimu cra3a_customfieldalt, tada bus rodomi tokie pasiūlymai:
Pavadinimo dviprasmybių eilutės pridedamos kitose situacijose, kai kyla pavadinimų konfliktai, pvz., lentelės, pasirinkimų ir kitų „Dataverse“ elementų pavadinimai.
Dviprasmiškumo pašalinimo operatorius
Kai kurios funkcijos sukuria įrašų aprėptis, skirtas lentelės laukams pasiekti, kol apdorojamas kiekvienas įrašas, pvz., Filter, AddColumns ir Sum. Su įrašo aprėptimi pridėti laukų pavadinimai programoje perrašo tokius pačius pavadinimus iš kitos vietos. Tokiu atveju vis tiek galite pasiekti reikšmes, esančias už įrašų aprėpties ribų, naudodami dviprasmiškumo pašalinimo operatorių @:
- Norėdami pasiekti reikšmes iš įdėtųjų įrašų aprėpčių, naudokite @ operatorių su lentelės, naudojamos pagal šį modelį, pavadinimu:
Lentelė[@FieldName] - Norėdami pasiekti visuotines reikšmes, pvz., duomenų šaltinius, rinkinius ir konteksto kintamuosius, naudokite modelį [@ObjectName] (be lentelės pavadinimo).
Norėdami gauti daugiau informacijos ir pavyzdžių žr. apie įrašų aprėptis.