Operaattorit ja tunnisteet Power Appsissa
Koskee seuraavia: pohjaan perustuvat sovellukset Mallipohjaiset sovellukset Power Pages
Jotkin näistä operaattoreista ovat riippuvaisia tekijän kielestä. Lisätietoja kielituesta pohjaan perustuvissa sovelluksissa: Yleiset sovellukset.
Symboli | Tyyppi | Esimerkki | Kuvaus |
---|---|---|---|
"..." | Tunniste | "Tilin nimi" | Erikoismerkkejä, välilyönnit mukaan luettuna, sisältävät tunnisteet ympäröidään heittomerkeillä |
"..." | Merkkijono | "Hei, maailma" | Tekstimerkkijonot ympäröidään lainausmerkeillä |
$"..." | Merkkijonon interpolointi | $"Rakas {FirstName}", | Tekstimerkkijonoon upotetut kaavat |
. | Ominaisuuden valitsin | Liukusäädin1.Arvo Color.Red Acceleration.X |
Poimii ominaisuuden taulukosta, ohjausobjektista, signaalista Or luetteloinnista. Yhteensopivuus aikaisempien versioiden kanssa, myös ! voi olla käytössä. |
. [riippuu kielestä] |
Desimaalierotin | 1.23 | Erotin numeron kokonaisosien ja murto-osien välissä. Merkki määräytyy kielen mukaan. |
( ) | Sulkeet | Suodatin(T, A < 10) (1 + 2) * 3 |
Pakottaa käsittelyjärjestyksen ja ryhmittää suuremman lausekkeen alilausekkeet |
+ | Aritmeettiset operaattorit | 1 + 2 | Yhteenlasku |
- | 2 - 1 | Vähennyslasku ja etumerkki | |
* | 2 * 3 | Kertolasku | |
/ | 2 / 3 | Jakolasku (katso myös Mod-funktio) | |
^ | 2 ^ 3 | Potenssiin korotus, vastaa Power-funktiota | |
% | 20% | Prosenttiosuus (vastaa arvoa * 1/100) | |
= | Vertailuoperaattorit | Hinta = 100 | Sama kuin |
> | Hinta: > 100 | Suurempi kuin | |
>= | Hinta >= 100 | Suurempi tai yhtä suuri kuin | |
< | Hinta: < 100 | Pienempi kuin | |
<= | Hinta <= 100 | Pienempi tai yhtä suuri kuin | |
<> | Hinta: <> 100 | Eri kuin | |
& | Merkkijonon yhdistämisoperaattori | "Hei" & " " &; "Maailma" | Muodostaa useista merkkijonoista yhtenäisen näkymän |
&/ tai ja | Loogiset operaattorit | Hinta < : 100 & Slider1.Value = 20 Or Price < 100 And Slider1.Value = 20 |
Looginen yhdistäminen, vastaa And-funktiota |
|| tai tai | Hinta < : 100 || Liukusäädin1.Arvo = 20 tai Hinta < 100 tai Liukusäädin1.Arvo = 20 | Looginen erottaminen, vastaa Or-funktiota | |
! tai Not | ! (hinta < 100) tai ei (hinta < 100) | Looginen negaatio, vastaa Not-funktiota | |
Täsmällinen | Jäsenyyden toimijat | Galleria1.Valitut exactin SavedItems | Kokoelmaan tai taulukkoon kuuluva |
Täsmällinen | "Windows" tarkalleen "Ikkunoiden näyttäminen Windows-käyttöjärjestelmässä ..." | Alimerkkijonotesti (kirjainkoko on merkitsevä) | |
IN | Galleria1.Valittu kohteessa SavedItems | Kokoelmaan tai taulukkoon kuuluva | |
IN | "The" kohdassa "Näppäimistö ja näyttö ..." | Alimerkkijonotesti (kirjainkoko ei ole merkitsevä) | |
@ | Täsmennyssivun operaattori | Oma taulukko[@fieldname] | Kentän selvitys |
@ | [@MyVariable] | Yleinen selvitys | |
, [riippuu kielestä] |
Luetteloerotin | Jos( x < 10, "matala", "hyvä" ) { X: 12, Y: 32 } [ 1, 2, 3 ] |
Erottaa:
|
; [riippuu kielestä] |
Kaavan ketjutus | Kerää (T, A); Navigoi(S1, "") | Erilliset funktioiden kutsut toimintaominaisuuksissa. Ketjutusoperaattori on riippuvainen kielestä. |
As | Operaattorina | Kaikki asiakkaat asiakkaana | On ensisijainen operaattoreihin ThisItem ja ThisRecord nähden valikoimissa sekä tietueen vaikutusalueen funktioissa. Kuten on hyödyllistä paremman ja tarkan nimen antamisessa, ja se on erityisen tärkeää sisäkkäisissä skenaarioissa. |
Itse | Itsenäinen operaattori | Self.Fill | Nykyisen ohjausobjektin ominaisuuksien käyttöoikeus |
pääelementti | pääelementti operaattori | Vanhempi.Täytä | Ohjausobjektin säilön ominaisuuksien käyttö |
TämäKohde | ThisItem-operaattori | ThisItem.Etunimi | Pääsy Gallery- tai Form-ohjausobjektin kenttiin |
TämäEnnätys | ThisRecord-operaattori | ThisRecord.Etunimi | Koko tietueen ja tietueen yksittäisten kenttien käyttö operaattoreissa ForAll, Sum, With ja muissa tietueen vaikutusalueen funktioissa. Voidaan ohittaa Kohteena-operaattorina. |
Muistiinpano
@-operaattorilla voidaan myös tarkistaa tietueobjektin tyyppi tietolähteen perusteella. Esimerkki: Collect(coll,Account@{'Account Number: 1111')
in- ja exactin-operaattorit
Käytä in- ja exactin-operaattoreita löytääksesi merkkijonon tietolähteestä, kuten kokoelmasta tai tuodusta taulukosta. in-operaattori tunnistaa osumat riippumatta tilanteesta. exactin-operaattori tunnistaa osumat vain, jos niiden ensimmäisen kirjaimen kirjainkoko on sama. Tässä on esimerkki:
Luo tai tuo kokoelma, jonka nimi on Inventory, ja näytä se valikoimassa, kuten kohdan Kuvien ja tekstin näyttäminen valikoimassa ensimmäisessä toimintosarjassa on kuvattu.
Aseta valikoiman Items-ominaisuudeksi tämä kaava:
Suodatin(varasto, "E" kohdassa ProductName)Valikoima näyttää kaikki muut tuotteet paitsi Calliston, koska tämän tuotteen nimi on ainoa, joka ei sisällä määrittämääsi kirjainta.
Muuta valikoiman Items-ominaisuudeksi tämä kaava:
Suodatin(varasto, "E" exactin ProductName)Valikoima näyttää vain Europan, koska se on ainoa nimi, joka sisältää määrittämäsi kirjaimen.
Operaattorit ThisItem, ThisRecord ja Kohtena
Jotkut ohjausobjektit ja funktiot soveltavat kaavoja taulukon yksittäisiin tietueisiin. Voit viitata kaavan yksittäiseen tietueeseen jollakin seuraavista tavoista:
Operaattori | Koskee | Kuvaus |
---|---|---|
TämäKohde | Valikoiman ohjausobjekti Muokkaa lomakkeen ohjausobjektia Näytä lomakkeen ohjausobjekti |
Nykyisen tietueen oletusnimi Gallery- tai lomakeohjausobjektissa. |
TämäEnnätys | ForAll,Filter,With,Sum ... ... ... ja muut tietueen vaikutusalueen funktiot | Nykyisen tietueen oletusnimi operaattorissa ForAll ja muissa tietueen vaikutusalueen funktioissa. |
Nimenä | Valikoiman ohjausobjekti ForAll,Filter,With,Sum ... ... ... ja muut tietueen vaikutusalueen funktiot |
Määrittää nykyiselle tietueelle nimen ja korvaa oletusarvoisen nimen ThisItem tai ThisRecord. Kohteena-objektin avulla voit tehdä kaavoista helpommin ymmärrettäviä sekä ratkaista monitulkintaisuutta sisäkkäisyydessä. |
ThisItem-operaattori
Esimerkiksi seuraavassa Gallery-ohjausobjektissa Items-ominaisuuden asetuksena on Työntekijät-tietolähde (esimerkiksi Northwind Traders -näytteen Työntekijät-taulukko):
Employees
Valikoiman ensimmäinen kohde on malli, joka replikoidaan kunkin työntekijän osalta. Mallissa kuvan kaavassa käytetään ThisItem-funktiota viittaamaan kulloiseenkin kohteeseen:
ThisItem.Picture
Myös nimen kaava käyttää ThisItem-operaattoria:
ThisItem.'First Name' & " " & ThisItem.'Last Name'
ThisRecord-operaattori
ThisRecord-funktiota käytetään funktioissa, joilla on tietueen laajuus. Esimerkiksi Filter-funktiota voi käyttää valikoiman Items-ominaisuuden kanssa siten, että näytetään vain M-kirjaimella alkavat etunimet:
Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )
ThisRecord on valinnainen ja implisiittinen käyttämällä kenttiä suoraan, esimerkiksi tässä tapauksessa olisimme voineet kirjoittaa:
Filter( Employees, StartsWith( 'First Name', "M" ) )
Vaikka ThisRecod-operaattorin käyttäminen on valinnaista, sillä voidaan tehdä kaavoista helpommin ymmärrettäviä ja sitä voidaan tarvita monitulkintaisissa tilanteissa, joissa kentän nimi voi olla myös suhteen nimi. ThisRecord on valinnainen, kun taas ThisItem on aina pakollinen.
Käytä ThisRecord-operaattoria viittaamaan koko tietueeseen funktioiden Patch ja Collect ja muiden tietueen vaikutusalueen toimintojen kanssa. Esimerkiksi seuraava kaava määrittää kaikkien passiivisten työntekijöiden tilaksi aktiivinen:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees,
Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )
Kohteena-operaattori
Käytä Kohteena-operaattoria nimetäksesi tietueen valikoimassa tai tietueen vaikutusalueen funktion korvaten oletuksen ThisItem tai ThisRecord. Tietueen nimeäminen voi helpottaa kaavojen ymmärtämistä, ja sitä saatetaan tarvita sisäkkäisyyttä sisältävissä tilanteissa muilla vaikutusalueilla olevien tietueiden käyttämiseen.
Voit esimerkiksi muokata valikoiman Items-ominaisuuden käyttämään Kohteena-operaattoria sen tunnistamiseen, että käsittelemme työntekijää:
Employees As Employee
Tämän kuvan ja nimen kaavat on mukautettu käyttämään nykyisestä tietueesta seuraavaa nimeä:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
Kuten voidaan käyttää myös tietueen vaikutusalueen funktioiden kanssa korvaamaan oletusnimi ThisRecord. Sovellamme tätä edelliseen esimerkkiin selkeyttääksemme käsiteltävää tietuetta:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees As Employee,
Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )
Valikoimia ja tietueen vaikutusalueen funktioita sisäkkäin asetettaessa ThisItem ja ThisRecord viittaavat aina sisimpään vaikutusalueeseen, jolloin ulompien vaikutusalueiden tietueet eivät ole käytettävissä. Käytä Kohteena-operaattoria mahdollistaaksesi kaikkien tietueen vaikutusalueiden käytön antamalla kullekin niistä yksilöllisen nimen.
Tämä kaava esimerkiksi tuottaa shakkilautakuvion tekstimerkkijonona asettamalla sisäkkäin kaksi ForAll-funtkiota:
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
)
Kun Label-ohjausobjektin Text-ominaisuudeksi määritetään tämä kaava, näkyviin tulee:
Katsotaan tarkemmin, mitä tässä tapahtuu:
- Aloitamme iteroimalla nimettömän 8 numeroitua Sequence-toiminnon tietuetta sisältävän nimettömän taulukon. Tämä silmukka pätee taulukon jokaiseen riviin. Sitä kutsutaan yleisesti nimellä Sijoitus, joten me annamme sille tämän nimen.
- Kullekin riville iteroimme uuden 8 sarakkeen nimettömän taulukon ja annamme yhteiseksi nimeksi Tiedosto.
- Jos Rank.Value + File.Value on pariton, neliöön tulee merkinnäksi X, muussa tapauksessa piste. Tämä kaavan osa viittaa molempiin ForAll-silmukoihin, mikä on mahdollista Kohteena-operaattorin käytön ansiosta.
- Concatia käytetään kahdesti, ensin sarakkeiden ja sitten rivien kokoamiseen, ja Char(10) -merkki heitetään sisään uuden rivin luomiseksi.
Samankaltainen esimerkki on mahdollinen sisäkkäisten Gallery-ohjausobjektien avulla ForAll-funktioiden tilalla. Aloitetaan pystysuoralla Sijoitus-valikoimalla. Tämän valikoimaohjausobjektin Items-kaavaksi tulee:
Sequence(8) as Rank
Tämän valikoiman sisälle asetamme vaakasuuntaisen valikoiman Tiedosto-sarakkeelle, joka replikoidaan kullekin Sijoitus-riville siten, että Items-ominaisuus on:
Sequence(8) as File
Lopuksi lisäämme tämän valikoiman sisälle Label-ohjausobjektin, joka replikoidaan kunkin Tiedoston ja kunkin Sijoituksen osalta. Suurennamme sen täyttämään koko tilan ja käytämme Fill antamaan värin seuraavan kaavan perusteella:
If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )
Self- ja Parent-operaattorit
Ohjausobjektiin ja sen ominaisuuksiin voidaan viitata kolmella tavalla:
Tapa | Kuvaus |
---|---|
Ohjausobjektin nimellä | Kaikkiin ohjausobjekteihin voidaan viitata nimellä mistä tahansa kohdasta sovelluksessa. Esimerkiksi Label1.Fill viittaa sen ohjausobjektin täyttöominaisuuteen, jonka nimi on Label1. |
Itsenäinen operaattori | On usein kätevää viitata toiseen saman ohjausobjektin ominaisuuteen kaavaa kirjoitettaessa. Absoluuttise, nimellä tapahtuvan viittauksen asemesta on helpompaa ja siirrettävämpää käyttää suhteellista itseviittausta self. Self-operaattori tarjoaa tuon helpon pääsyn nykyiseen ohjausobjektiin. Esimerkiksi Self.Fill viittaa nykyisen ohjausobjektin täyttöväriin. |
pääelementti toiminnanharjoittaja | Jotkin ohjausobjektit, kuten Screen ja Gallery isännöivät muita ohjausobjekteja. Sisällä olevien ohjausobjektien isännöivää ohjausobjektia kutsutaan ylätasoksi. Samoin kuin Self-operaattori, Parent-operaattori tarjoaa helpon suhteellisen viittauksen säilöohjausobjektiin. Esimerkiksi Parent.Fill viittaa sen ohjausobjektin täyttöominaisuuteen, joka on nykyisen ohjausobjektin säilö. |
Itse ja pääelementti ovat operaattoreita eivätkä itse ohjausobjektien ominaisuuksia. Viittauksia Parent.Parent, Self.Parent tai Parent.Self ei tueta.
Tunnisteiden nimet
Muuttujien, tiet lähteiden, sarakkeiden ja muiden objektien nimet voivat sisältää mitä tahansa Unicode-tekstiä.
Käytä yksittäisiä lainausmerkkejä sellaisen nimen ympärillä, joka sisältää välilyönnin tai muun erikoismerkin.
Käytä kahta heittomerkkiä yhdessä, kun haluat esittää yhden lainausmerkin nimessä. Nimet, joissa ei ole erikoismerkkejä, eivät edellytä heittomerkkejä.
Seuraavassa on esimerkkejä sarakenimistä, joita saattaa olla taulukoissa, sekä siitä, miten ne ilmaistaan kaavassa:
Sarakkeen nimi tietokannassa | Sarakeviittaus kaavassa |
---|---|
SimpleName | SimpleName |
NameWith123Numbers | NameWith123Numbers |
Nimi, jossa on välilyöntejä | 'Name with spaces' |
Nimi, jossa on kaksinkertaiset lainausmerkit | 'Name with "double" quotes' |
Nimi, jossa on yksittäiset lainausmerkit | 'Name with ''single'' quotes' |
Nimi, jossa on @-merkki | 'Name with an @ at sign' |
Kaksinkertaisia lainausmerkkejä käytetään tekstimerkkijonojen nimeämiseen .
Näyttönimet ja loogiset nimet
Joillakin tietolähteillä, kuten SharePoint ja Microsoft Dataversellä on kaksi eri nimeä, jotka viittaavat samaan taulukkoon tai tietosarakkeeseen:
Looginen nimi - Nimi, joka on taatusti ainutlaatuinen, ei muutu luomisen jälkeen, ei yleensä salli välilyöntejä tai muita erikoismerkkejä eikä sitä ole lokalisoitu eri kielille. Tämän tuloksena nimi voi olla arvoituksellinen. Näitä nimiä käyttävät ammattimaiset kehittäjät. Esimerkiksi cra3a_customfield. Tätä nimeä voidaan kutsua myös rakenteen nimeksi tai vain nimeksi.
näyttönimi - Nimi, joka on käyttäjäystävällinen ja tarkoitettu loppukäyttäjien nähtäväksi. Tämä nimi ei välttämättä ole yksilöllinen, se voi muuttua ajan mittaan, se voi sisältää välilyöntejä ja mitä tahansa Unicode-merkkejä ja se voidaan lokalisoida eri kielillä. Edellä esitetyn esimerkin mukaisesti näyttönimenä voi olla Mukautettu kenttä siten, että sanojen välissä on välilyönti.
Koska näyttönimet ovat helpommin ymmärrettäviä, kaaviosovellukset ehdottavat vaihtoehdoiksi niitä loogisten nimien sijaan. Vaikka loogisia nimiä ei ehdoteta, niitä voi silti käyttää, jos ne kirjoittaa epäsuorasti.
Oletetaan esimerkiksi, että olet lisännyt mukautetun kentän taulukkoon Dataversessä. Järjestelmä määrittää sinulle loogisen nimen, jota voit muokata vain kenttää luotaessa. Tulos näyttäisi seuraavanlaiselta:
Kun luot viittausta tilien kenttään, ehdotetaan nimen Custom Field käyttöä, koska se on näyttönimenä. Heittomerkkejä on käytettävä, koska nimi sisältää välilyönnin:
Kun olet valinnut ehdotuksen, kaavarivillä näkyy Custom Field ja tiedot noudetaan:
Vaikka sitä ei ehdoteta, myös loogista nimeä voisi käyttää tässä kentässä. Tämä johtaa siihen, että samat tiedot noudetaan. Heittomerkkejä ei tarvita, koska tässä nimessä ei ole välilyöntejä tai erikoismerkkejä:
Taustalla ylläpidetään yhdistämismääritystä kaavoissa näkyvien näyttönimien ja pohjalla olevien loogisten nimien välillä. Koska loogisia nimiä on käytettävä vuorovaikutuksessa tietolähteen kanssa, tätä yhdistämismääritystä käytetään kulloisenkin näyttönimen muuntamisessa automaattisesti loogiseksi nimeksi, ja tämä näkyy verkkoliikenteessä. Tätä yhdistämismääritystä käytetään myös muunnettaessa takaisin loogisiksi nimiksi, jotta voidaan vaihtaa uusiin näyttönimiin esimerkiksi, jos näyttönimi muuttuu tai toista kieltä käyttävä tekijä muokkaa sovellusta.
Muistiinpano
Loogisia nimiä ei käännetä, kun sovellusta siirretään ympäristöjen välillä. Dataverse järjestelmätaulukoiden ja kenttien nimien ei pitäisi olla ongelma, koska loogiset nimet ovat yhdenmukaisia eri ympäristöissä. Kaikilla mukautetuilla kentillä, kuten edellisen esimerkin kentällä cra3a_customfield, on eri ympäristöetuliite (tässä tapauksessacra3a). Näyttönimet ovat ensisijaisia, koska niitä voidaan verrata uuden ympäristön näyttönimiin.
Nimien selvitys
Koska näyttönimet eivät ole yksilöllisiä, sama näyttönimi voi esiintyä useammin kuin kerran samassa taulukossa. Kun näin tapahtuu, looginen nimi lisätään näyttönimen loppuun suluissa yhdessä tai useammassa identtisessä nimessä. Jos edellä olevassa esimerkissä olisi toinen kenttä, jolla on sama näyttönimi Custom Field ja jonka looginen nimi olisi cra3a_customfieldalt, ehdotuksissa näkyisi:
Nimiin, jossa esiintyy ristiriitoja, lisätään nimiä, kuten taulukon nimiä, vaihtoehtoja ja muita Dataverse-kohteita, joissa esiintyy nimiä.
Selvitysoperaattori
Jotkin funktiot luovat tietuealueita taulukon kenttien käyttämiseksi tietueita käsiteltäessä, kuten Filter, AddColumns ja Sum. Tietuealueen kanssa lisättyjen kenttien nimet ohittavat samat nimet, jotka ovat peräisin muualta sovelluksesta. Kun näin tapahtuu, voit edelleen käyttää arvoja tietuealueen ulkopuolelta käyttämällä @ selvitysoperaattoria:
- Voit käyttää sisäkkäisten tietuealueiden arvoja käyttämällä operaattoria @ siten, että käsiteltävänä olevan taulukon nimi esitetään tämän mallin mukaisesti:
Taulukko[@KentänNimi] - Voit käyttää yleisiä arvoja, kuten tietolähteitä, kokoelmia ja kontekstimuuttujia, esittämällä ne mallin [@ObjectName] mukaisesti (ilman taulukon määritystä).
Katso lisätietoja ja esimerkkejä tietuealueista.