Deli z drugimi prek


Operatorji in identifikatorji v storitvi Power Apps

Velja za: Aplikacije Canvas Aplikacije, ki temeljijo na modelu Power Pages

Nekateri od teh operatorjev so odvisni od jezika avtorja. Za več informacij o jezikovni podpori v aplikacijah s platnom glejte Globalne aplikacije.

Simbol Vnesi Primer Description
'...' Identifikator 'Ime računa' Identifikatorji, ki vsebujejo posebne znake, vključno s presledki, so v enojnih narekovajih
"..." Besedilni niz "Pozdravljen, svet" Besedilni nizi so obdani z dvojnimi narekovaji
$"..." Interpolacija nizov $"Dragi {FirstName}," Formule, vdelane v besedilni niz
. Izbirnik lastnosti Slider1.Value
Color.Red
Acceleration.X
Izvleče lastnost iz tabele, kontrolnika, signala ali oštevilčenja. Za združljivost s prejšnjimi različicami lahko uporabite tudi !.
.
[odvisno od jezika]
Decimalno ločilo 1.23 Ločilo med celimi in ulomljenimi deli števila. Znak je odvisen od jezika.
( ) Oklepaji Filter (T, A < 10)

(1 + 2) * 3
Uveljavi prednostni vrstni red in združi podizraze v večjem izrazu
+ Aritmetični operatorji 1 + 2 Seštevanje
-   2 - 1 Odštevanje in znak
*   2 * 3 Množenje
/   2/3 Deljenje (glejte tudi funkcijo Mod)
^   2 ^ 3 Potenciranje, enakovredno funkciji Power
%   20 % Odstotek (enakovredno »* 1/100«)
= Operatorji primerjanja Cena = 100 Enako kot
>   Cena > 100 Večje od
>=   Cena >= 100 Večje ali enako kot
<   Cena < 100 Manjše od
<=   Cena <= 100 Manjše ali enako kot
<>   Cena <> 100 Ni enako kot
& Operator za spojitev nizov "zdravo" & " " & "svet" Ustvari videz nepretrganega sklopa iz več nizov
&& ali In Logični operatorji Cena < 100 && Slider1.Value = 20
ali Price < 100 And Slider1.Value = 20
Logična konjunkcija, enakovredna funkciji And
|| ali Ali   Cena < 100 || Slider1.Value = 20 ali Price < 100 ali Slider1.Value = 20 Logična disjunkcija, enakovredna funkciji Or
! ali Not   !(Cena < 100) ali Ne (Cena < 100) Logična negacija, enakovredna funkciji Not
exactin Operaterji članstva Galerija 1. Natančno izbrani shranjeni predmeti Ki pripada zbirki ali tabeli
eksaktin   "Windows" točno v "Za prikaz oken v operacijskem sistemu Windows ..." Preizkus podniza (razlikovanje med velikimi in malimi črkami)
v   Galerija1.Izbrano v SavedItems Ki pripada zbirki ali tabeli
v   "The" v "Tipkovnica in monitor ..." Preizkus podniza (brez razlikovanja med velikimi in malimi črkami)
@ Operator razdvoumljanja Moja tabela[@fieldname] Razločitev polja
@   [@MyVariable] Globalna razločitev
,
[odvisno od jezika]
Ločilo za seznam Če (X < 10, "Nizko", "Dobro")
{ X: 12, Y: 32 }
[ 1, 2, 3 ]
Ločuje:
  • argumente pri priklicih funkcije
  • polja v zapisu
  • zapisi v tabeli
Ta znak je odvisen od jezika.
;
[odvisno od jezika]
Veriženje formul Zberi (T, A); Krmarjenje (S1, "") Ločuje priklice funkcij pri lastnostih delovanja. Operator veriženja je odvisen od jezika.
Kot Kot operater Vse stranke kot stranke Preglasi operatorja ThisItem in ThisRecord v galerijah in funkcijah obsega zapisov. Kot je uporaben za zagotavljanje boljšega, specifičnega imena in je še posebej pomemben v ugnezdenih scenarijih.
sebe Samostojni operater Self.Fill Dostop do lastnosti trenutnega kontrolnika
starš Nadrejeni operater Nadrejeni. Izpolni Dostop do lastnosti kontrolnega vsebnika
Ta predmet Operater ThisItem ThisItem.FirstName Dostop do polj v galeriji ali kontrolnika obrazca
Ta zapis Operater ThisRecord ThisRecord.FirstName Dostop do celotnega zapisa in posameznih polj zapisa znotraj funkcij ForAll, Sum, With in drugih funkcij obsega zapisa. Lahko preglasimo z operatorjem As.

opomba,

Operator @ se lahko uporablja tudi za preverjanje vrste predmeta zapisa v primerjavi z viri podatkov. Na primer Collect(coll,Account@{'Account Number: 1111').

Operatorja »in« in »exactin«

Uporabite operatorja in in exactin, da najdete niz v viru podatkov, na primer zbirko ali uvoženo tabelo. Operator in prepozna ujemanja ne glede na primer, operator exactin pa prepozna ujemanja, samo če se uporabljajo enak način zapisa velikih začetnic. V nadaljevanju je predstavljen primer:

  1. Ustvarite ali uvozite zbirko z imenom Zaloga in jo prikažite v galeriji, kot opisuje prvi postopek v članku Prikaz slik in besedila v galeriji.

  2. Nastavite lastnost Items galerije na to formulo:
    Filter (inventar, "E" v imenu izdelka)

    V galeriji so prikazani vsi izdelki razen izdelka »Callisto«, ker je ime tega izdelka edino, ki ne vsebuje črke, ki ste jo določili.

  3. Spremenite lastnost Items galerije na to formulo:
    Filter (inventar, "E" točno v imenu izdelka)

    V galeriji je prikazan samo element Europa, ker samo to ime vsebuje črko, ki ste jo navedli v opredeljenem primeru.

Operatorji »ThisItem«, »ThisRecord« in »As«

Nekaj kontrolnikov in funkcij uporablja formule za posamezne zapise tabele. Če se želite sklicevati na posamezen zapis v formuli, uporabite eno od naslednjih:

Operator Velja za Opis
Ta predmet Galerija nadzor
Uredi obrazec nadzor
Prikazni obrazec nadzor
Privzeto ime za trenutni zapis v galeriji ali kontrolniku obrazca.
Ta zapis Za vse, Filter, Z, Vsota in druge obseg zapisa funkcije Privzeto ime za trenutni zapis v funkciji ForAll in druge funkcije obsega zapisa.
Kotime Galerija nadzor
Za vse, Filter, Z, Vsota in druge funkcije obsega zapisa
Določa ime za trenutni zapis, ki nadomesti privzetega operatorja ThisItem ali ThisRecord. Uporabite operator As, za lažje razumevanje formul in za razrešitev dvoumnosti pri gnezdenju.

Operator ThisItem

V naslednjem kontrolniku Galerija je lastnost elementov nastavljena na vir podatkov Zaposleni (na primer tabela Zaposleni, priložena vzorcu podjetja Northwind Traders):

Employees

Zaposleni prikazani v galeriji.

Prvi element v galeriji je predloga, ki se podvoji za vsakega zaposlenega. Formula za sliko v predlogi uporablja operatorja ThisItem za sklicevanje na trenutni element:

ThisItem.Picture

Formula za sliko zaposlenega.

Prav tako formula za ime uporablja operatorja ThisItem:

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

Formula za prvega in priimek zaposlenega.

Operator »ThisRecord«

Ta zapis se uporablja v funkcijah, ki imajo obseg zapisa. Lahko na primer uporabimo funkcijo Filter z lastnostjo naše galerije Predmeti, da prikazuje samo imena, ki se začnejo na M:

Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )

Filtriranje zaposlenih na podlagi imena z uporabo ThisRecord.

Ta zapis je neobvezen in impliciten z neposredno uporabo polj, na primer, v tem primeru bi lahko zapisali:

Filter( Employees, StartsWith( 'First Name', "M" ) )

Čeprav je izbiren, lahko operator ThisRecord olajša razumevanje formul, njegovo uporabo pa lahko zahtevajo v dvoumnih situacijah, kjer je ime polja lahko tudi ime odnosa. Ta zapis je neobvezen, medtem ko je Tapostavka vedno zahtevan.

Uporabite operator ThisRecord, če se želite sklicevati na celotni zapis s funkcijama Patch in Collect ter drugimi funkcijami obsega zapisa. Naslednja formula na primer nastavi stanje vseh nedejavnih zaposlenih na dejavno:

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees,
              Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )

Operator »As«

Z operatorjem As poimenujte zapis v galeriji ali funkciji obsega zapisa in preglasite privzetega operatorja ThisItem ali ThisRecord. Poimenovanje zapisa lahko olajša razumevanje formul, v ugnezdenih situacijah pa je lahko poimenovanje zahtevano za dostop do zapisov v drugih obsegih.

Lahko na primer spremenite lastnost galerije Elementi in uporabite operator As da ugotovite, ali sodelujete z zaposlenim:

Employees As Employee

Galerija zaposlenih, z uporabo operaterja As.

Formule za sliko in ime so prilagojene tako, da se to ime uporablja za trenutni zapis:

Employee.Picture

Slika zaposlenega, ki uporablja ime zaposlenega, nastavljeno z operatorjem As.

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

First in priimek zaposlenega, ki uporablja ime zaposlenega, nastavljeno z operatorjem As.

As se lahko uporablja tudi s funkcijami obsega zapisa za zamenjavo privzetega imena ThisRecord. To lahko uporabimo v prejšnjem primeru, da razjasnimo zapis, s katerim delamo:

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees As Employee,
              Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )

Pro gnezdenju galerij in funkcij obsega zapisa, se operatorja ThisItem in ThisRecord vedno nanašata na najbolj notranji obseg, pri čemer zapisi v zunanjih področjih niso na voljo. Uporabite operator As in omogočite dostop do vseh obsegov zapisa tako, da vsakemu dodelite enolično ime.

Ta formula na primer ustvari vzorec šahovnice kot besedilni niz z ugnezdenjem dveh funkcij ForAll:

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
)

Nastavljanje funkcije Label kontrolnikovi lastnosti Besedilo tej formuli prikaže:

Besedilo šahovnice, prikazano v kontrolniku oznake.

Poglejmo, kaj se tukaj dogaja:

  • Začnemo s ponavljanjem neimenovane tabele z 8 oštevilčenimi zapisi iz funkcije Sequence. Ta zanka je za vsako vrstico plošče, ki se običajno imenuje Uvrstitev, zato ji damo to ime.
  • Za vsako vrstico ponovimo še eno neimenovano tabelo z 8 stolpci in ji damo skupno ime Datoteka.
  • Če je vsota Rank.Value + File.Value liho število, kvadrat dobi X, če število ni liho, pa piko. Ta del formule navaja obe zanki ForAll, kar omogoča operator As.
  • Concat je uporabljen dvakrat, najprej za sestavljanje stolpcev in nato vrstic, z Char(10) vstavljenim za ustvarjanje nove vrstice.

Podoben primer je možen z ugnezdenimi kontrolniki Galerija namesto funkcij ForAll. Začnimo z vertikalno galerijo za Uvrstitev. Ta kontrolnik galerije bo imel formulo Elementi:

Sequence(8) as Rank

Ilustracija zunanje galerije, ki zagotavlja iteracijo Rank.

V galeriji bomo postavili vodoravno galerijo za Datoteko, ki bo podvojena za vsako Uvrstitev, z lastnostjo Elementi:

Sequence(8) as File

Ilustracija notranje galerije, ki ponuja ponovitev datoteke.

Na koncu bomo v galerijo dodali še kontrolnik Label, ki se bo podvojil za vsako Datoteko in vsako Uvrstitev. Velikost bomo prilagodili celotnemu prostoru in uporabili lastnost Izpolni, da zagotovimo barvo s to formulo:

If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )

Nadzor oznak v dveh galerijah, ki zagotavlja izmenične barve za šahovnico.

Operatorja »Self« in »Parent«

Obstajajo trije načini sklicevanja na kontrolnik in njegove lastnosti v formuli:

Način Opis
Po imenu kontrolnika Na vsak kontrolnik se je mogoče sklicevati po imenu od kjer koli znotraj aplikacije.

Na primer Label1.Fill se sklicuje na lastnost zapolnitve kontrolnika, katerega ime je Label1.
Samo operater Ob zapisovanju formule se je pogosto priročno sklicevati na drugo lastnost istega kontrolnika. Namesto uporabe absolutnega sklica po imenu, je lažje in bolj prenosljivo uporabiti relativni sklic na sebe (self). Operator Self zagotavlja enostaven dostop do trenutnega kontrolnika.

Na primer Self.Fill se sklicuje na barvo polnila trenutnega kontrolnika.
Nadrejeni operater Nekateri kontrolniki gostujejo druge kontrolnike, kot kontrolnika Zaslon in Galerija. Gostujočemu kontrolniku notranjih kontrolnikov se reče nadrejeni. Kot operator Self operator Parent zagotavlja enostaven relativen sklic na kontrolnik vsebnika.

Na primer, Parent.Fill se sklicuje na lastnost polnitve kontrolnika, ki je vsebnik za trenutni kontrolnik.

Self in Parent sta operaterja in ne lastnosti samih kontrolnikov. Sklicevanje na Parent.Parent, Self.Parent ali Parent.Self ni podprto.

Imena identifikatorjev

Imena spremenljivk, virov podatkov, stolpcev in drugih predmetov lahko vsebujejo kateri koli znak Unicode.

Uporabite enojne narekovaje pri imenu, ki vsebuje presledek ali drug poseben znak.
Skupaj uporabite dva enojna narekovaja, ki bosta predstavljala posamezno navedbo znotraj imena. Imena, ki ne vsebujejo posebnih znakov, ne potrebujejo enojnih narekovajev.

V nadaljevanju je navedenih nekaj primerov za imena stolpcev, na katera lahko naletite v tabeli, in način, kako so predstavljena znotraj formule:

Ime stolpca v zbirki podatkov Sklic na stolpec v formuli
SimpleName SimpleName
NameWith123Numbers NameWith123Numbers
Ime s presledki 'Name with spaces'
Ime z "dvojnimi" narekovaji 'Name with "double" quotes'
Ime z 'enojnimi' narekovaji 'Name with ''single'' quotes'
Ime z znakom @ 'Name with an @ at sign'

Dvojni narekovaji se uporabljajo za označevanje besedilnih nizov.

Prikazna imena in logična imena

Nekateri viri podatkov, kot sta SharePoint in Microsoft Dataverse, imajo dve različni imeni, ki se nanašajo na isto tabelo ali stolpec podatkov:

  • Logično ime - Ime, ki je zajamčeno edinstveno, se ne spremeni po ustvarjanju, običajno ne dovoljuje presledkov ali drugih posebnih znakov in ni lokalizirano v različne jezike. Kot rezultat, je ime lahko šifrirano. Ta imena uporabljajo profesionalni razvijalci. Na primer: cra3a_customfield. To ime se lahko imenuje tudi ime sheme ali enostavno ime.

  • prikazno ime - Ime, ki je uporabniku prijazno in namenjeno, da ga vidijo končni uporabniki. To ime morda ni edinstveno, se lahko sčasoma spreminja, lahko vsebuje presledke in kateri koli znak Unicode ter je lahko lokalizirano v različne jezike. V skladu z zgornjim primerom je prikazno ime morda Polje po meri s presledkom med besedami.

Ker je prikazna imena lažje razumeti, bodo aplikacije s platnom predlagale, da izberete tovrstna imena, ne pa logičnih imen. Čeprav logična imena niso predlagana, jih je mogoče uporabiti, če jih vtipkamo posredno.

Predstavljajte si, da ste na primer dodali Polje po meri tabeli v okolju Dataverse. Sistem vam bo dodelil logično ime, ki ga lahko spreminjate samo ob ustvarjanju polja. Rezultat bo podoben naslednjemu:

Tabela računov z dodanim poljem po meri, ki prikazuje prikazno ime »Polja po meri« in logično ime »cr5e3_customfield«.

Pri ustvarjanju sklica na polje kupcev bo predlog uporabljal 'Polje po meri', saj je to prikazno ime. Uporabiti je treba enojne narekovaje, ker ime vsebuje presledek:

Vrstica s formulo Studio prikazuje predloge za imena polj računov z označenim prikazno ime »Poljem po meri«.

Po izbiri predloga se v vnosni vrstici prikaže »Polje po meri« in pridobijo se podatki:

Vrstica formule Studio, ki prikazuje uporabo prikazno ime 'Polja po meri' za polje.

Čeprav ni predlagano, bi lahko uporabili tudi logično ime za to polje. Posledično bodo naloženi enaki podatki. Enojni narekovaji niso potrebni, ker to ime ne vsebuje presledkov ali posebnih znakov:

Vrstica formule Studio, ki prikazuje uporabo logičnega imena cr5e3_customfield za polje.

V ozadju se ohranja preslikava med prikaznimi imeni, ki jih vidimo pri formulah, in temeljnimi logičnimi imeni. Ker je treba za interakcijo z virom podatkov uporabiti logična imena, se ta preslikava uporablja za samodejno pretvorbo iz trenutnega prikaznega imena v logično ime, kar se tudi vidi pri omrežnem prometu. To preslikavo se uporablja tudi za pretvorbo nazaj v logična imena za prehod v nova prikazna imena, na primer, če se prikazno ime spremeni ali izdelovalec aplikacijo uredi v drugem jeziku.

opomba,

Pri premikanju aplikacije med okolji logična imena niso prevedena. Za imena sistemskih tabel in polj v okolju Dataverse to ne bi smelo predstavljati težav, saj so logična imena skladna v vseh okoljih. Toda vsa polja po meri, kot je cra3a_customfield v tem zgornjem primeru, imajo lahko drugačno predpono okolja (cra3a v tem primeru). Prednostna so prikazna imena, saj se lahko ujemajo s prikaznimi imeni v novem okolju.

Razločitev imena

Ker prikazana imena niso enolična, se lahko isto prikazano ime večkrat pojavi v isti tabeli. Ko se to zgodi, bo logično ime dodano na konec prikazno ime v oklepaju za eno ali več nasprotujočih si imen. Na podlagi zgornjega primera torej velja: če obstaja drugo polje z istim prikaznim imenom Polje po meri in logičnim imenom cra3a_customfieldalt, bi bili predlogi naslednji:

Vrstica formule Studio, ki prikazuje uporabo logičnega imena cr5e3_customfieldalt za razločitev dveh različic »Polja po meri«.

Nizi za razločitev imen se dodajo v drugih situacijah, ko pride do sporov imen, kot so imena tabele, izbir in drugih elementov Dataverse.

Operator za razločitev

Nekatere funkcije ustvarijo obsege zapisov za dostop do polj tabele med obdelavo vsakega zapisa, kot so Filter, AddColumns in Sum. Imena polj, dodana z obsegom zapisov, preglasijo enaka imena od drugod v aplikaciji. Ko se to zgodi, lahko do vrednosti še vedno dostopate zunaj obsega zapisov z operatorjem za razločitev @:

  • Za dostop do vrednosti iz ugnezdenih obsegov zapisov uporabite operator @ z imenom tabele, ki se upravlja s tem vzorcem:
    Tabela[@Ime polja]
  • Za dostop do globalnih vrednosti, kot so viri podatkov, zbirke in spremenljivke konteksta, uporabite vzorec [@ObjectName] (brez oznake tabele).

Za več informacij in primerov glejte obsege zapisov.