Bendrinti naudojant


„Power Apps“ naudojami operatoriai ir identifikatoriai

Taikoma: drobės programoms Modeliu pagrįstoms programoms

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 'Kliento pavadinimas' Identifikatoriai, kuriuose yra specialių simbolių, įskaitant tarpus, pateikiami viengubose kabutėse
"..." Teksto eilutė „Labas, pasauli” Teksto eilutės yra pateikiamos dvigubose kabutėse
$"..." Eilutės inter inter $"Gerb. {FirstName}," Formulės, įdėtos į teksto eilutę
. Ypatybių išrinkiklis Slider1.Vertė
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 || Slider1.Vertė = 20 ar Kaina < 100 Or Slider1.Vertė = 20 Loginė disjunkcija, atitinka funkciją Arba
! arba Ne   !(Kaina < 100) arba Ne (Kaina < 100) Loginė inversija, atitinka funkciją Ne
exactin Priklausymo operatoriai 1Galerijos.Pasirinktas exactin IšsaugotiElementai Priklausymas rinkiniui ar lentelei
exactin   "Windows" exactin „Rodyti langus „Windows” operacinėje sistemoje...” Poeilučio tikrinimas (skiriamos didžiosios ir mažosios raidės)
kur   1Galerijos.Pasirinkta iš IšsaugotųElementų Priklausymas rinkiniui ar lentelei
kur   "Tai" in "Klaviatūra ir monitorius..." Poeilučio tikrinimas (neskiriamos didžiosios ir mažosios raidės)
@ Dviprasmiškumo pašalinimo operatorius MyTable[@fieldname] Lauko dviprasmiškumo pašalinimas
@   [@MyVariable] Visuotinis dviprasmiškumo pašalinimas
,
[priklauso nuo kalbos]
Sąrašo skyriklis If( X < 10, "Low", "Good" )
{ 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 Operatorius „Kaip“ AllCustomers kaip klientas Perrašo ThisItem ir ThisRecord galerijose bei įrašo aprėpties funkcijose. Kaip naudingas norint suteikti geresnį, tikslesnį pavadinimą ir yra ypač svarbus esant įdėtiniams scenarijams.
Patys Pats operatorius Pats.užsipildantis Prieiga prie esamo valdiklio ypatybių
Parent Pirminis operatorius Parent.Fill Prieiga prie valdiklio konteinerio ypatybių
ThisItem ThisItem operatorius ThisItem.FirstName Prieiga prie galerijos arba formos valdiklio laukų
ThisRecord 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.

  1. 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.

  2. Nustatykite galerijos ypatybės Items reikšmę pagal šią formulę:
    Filter(Inventory, "E" in ProductName)

    Galerijoje rodomi visi produktai, išskyrus „Callisto“, nes šis produkto pavadinimas yra vienintelis, kuriame nėra jūsų nurodytos raidės.

  3. Pakeiskite galerijos ypatybės Items reikšmę pagal šią formulę:
    Filter(Inventory, "E" exactin ProductName)

    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
ThisItem Galerija valdiklis
Redaguoti formą valdiklis
Rodyti formą valdiklis
Numatytasis dabartinio įrašo, esančio galerijoje arba formos valdiklyje, pavadinimas.
ThisRecord Visiems, Filtras, Su, Suma ir kitos įrašymo apimties funkcijos Numatytasis dabartinio įrašo, esančio ForAll ir kitose įrašo aprėpties funkcijose, pavadinimas.
Kaippavadinimą Galerija valdiklis
Visiems, Filtras, Su, Suma ir kitos įrašymo apimties 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

Darbuotojai rodomi galerijoje.

Pirmasis galerijos elementas yra kiekvienam darbuotojui sukurtas šablonas. Šablone esamam elementui nurodyti nuotraukos formulėje naudojamas ThisItem:

ThisItem.Picture

Darbuotojo nuotraukos formulė.

Atitinkamai, vardo ir pavardės formulė taip pat naudoja ThisItem:

ThisItem.'First Name' & " " & ThisItem.'Last Name'

Darbuotojo pirmojo ir pavardė formulė.

Operatorius ThisRecord

ThisRecord naudojamas funkcijoms, kurios turi į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" ) )

Darbuotojų filtravimas pagal vardą naudojant ThisRecord.

ThisRecord yra pasirinktinis ir numanomas naudojant laukus tiesiogiai, pvz., šiuo atveju galėtume užraš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 pasirinktinis, o ThisItem visada yra būtinas.

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

Darbuotojų galerija, naudojant operatorių As.

Nuotraukos ir vardo formulės koreguojamos norint naudoti šį pavadinimą dabartiniam įrašui:

Employee.Picture

Darbuotojo, naudojančio darbuotojo vardą, nustatytą su operatoriumi As, paveikslėlis.

Employee.'First Name' & " " & Employee.'Last Name'

Darbuotojo pirmas ir pavardė naudojant darbuotojo vardą, nustatytą su operatoriumi As.

As taip pat galima naudoti su įrašo aprėpties funkcijoms, norint pakeisit 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ą:

Šachmatų lentos tekstas rodomas etiketės valdiklyje.

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 naudojama du kartus – pirmiausia sudaryti stulpeliams, o tada eilutėms Char(10) metamos siekiant sukurti naują 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

Išorinės galerijos, teikiančios rango iteraciją, iliustracija.

Šioje galerijoje sukursime Failo horizontalią galeriją, kuri bus kartojama kiekvienam Rango su ypatybe Elementai:

Sequence(8) as File

Vidinės galerijos, teikiančios failo iteraciją, iliustracija.

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 )

Etikečių valdymas dviejose galerijose, suteikiantis kintamas šachmatų lentos spalvas.

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.
Pats 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ą.
Valdantis operatorius 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į.

Pats ir Pagrindinis yra operatoriai ir ne pačių valdiklių ypatybė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 - tai yra unikalus pavadinimas, jį sukūrus jis nėra keičiamas, paprastai tokiame pavadinime negali būti tarpų ar kitų specialiųjų simbolių ir jis nelokalizuojamas kitomis kalbomis. 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 pavadinimas – vartotojui suprantamas pavadinimas, kuris skirtas rodyti 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ą:

Lentelė Paskyros su įtrauktu pasirinktiniu lauku, kurioje rodomas

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:

Studijos formulės juosta, kurioje rodomi paskyrų laukų pavadinimų su paryškintu pavadinimu

Pasirinkus pasiūlymą, formulės juostoje rodoma 'Pasirinktinis laukas' ir gaunami duomenys:

Studijos formulės juosta, rodanti rodomo lauko pavadinimo

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ų:

Studijos formulės juosta, rodanti loginio pavadinimo cr5e3_customfield naudojimą laukui.

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ą. Taip nutikus vieno ar kelių rodomo pavadinimų, dėl kurių kilo konfliktas, pabaigoje skliaustuose bus nurodytas loginis pavadinimas. 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:

Studijos formulės juosta, rodanti loginio pavadinimo cr5e3_customfieldalt naudojimą dviem pasirinktinio lauko versijoms atskirti.

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.