Operatori un identifikatori programmā Power Apps
Attiecas uz: Pamatnes programmām Modeļa vadītas programmas Power Pages
Daži no šiem operatoriem ir atkarīgi no autora valodas. Papildu informāciju par valodas atbalstu pamatnes programmās skatiet sadaļā Globālās programmas.
Simbols | Tipi | Piemērs | Apraksts |
---|---|---|---|
"..." | Identifikators | "Konta nosaukums" | Identifikatori, kuros ir speciālās rakstzīmes, ieskaitot atstarpes, tiek iekļauti vienpēdiņās |
"..." | Teksta virkne | "Sveika, pasaule" | Teksta virknes tiek ievietotas dubultpēdiņās |
$"..." | Stīgu interpolācija | $"Dārgais {FirstName}," | Teksta virknē iegultas formulas |
. | Rekvizītu atlasītājs | Slīdnis1.Vērtība Color.Red Acceleration.X |
Tiek izvilkts rekvizīts no tabulas, vadīklas, signāla vai uzskaitījuma. Var tikt izmantota arī ! atpakaļsaderība. |
. [no valodas atkarīgais] |
Decimāldaļu atdalītājs | 1.23 | Atdalītājs starp veselām un daļskaitļu skaitļa daļām. Šī rakstzīme ir atkarīga no valodas. |
( ) | Iekavas | Filtrs(T, A < 10) (1 + 2) * 3 |
Nosaka prioritāro secību un grupē apakšizteiksmes lielākā izteiksmē |
+ | Aritmētiskie operatori | 1 + 2 | Pievienošana |
- | 2 - 1 | Atņemšana un parakstīšana | |
* | 2 * 3 | Reizināšana | |
/ | 2 / 3 | Dalīšana (sk. arī funkciju Mod ) | |
^ | 2 ^ 3 | Kāpināšana, ekvivalenta funkcijai Power | |
% | 20% | Procenti (ekvivalents "* 1/100") | |
= | Salīdzinājuma operatori | Cena = 100 | Vienāds ar |
> | Cena > 100 | Ir lielāks nekā | |
>= | Cena >= 100 | Lielāks par vai vienāds ar | |
< | Cena < 100 | Ir mazāks nekā | |
<= | Cena <= 100 | Mazāks par vai vienāds ar | |
<> | Cena <> 100 | Nav vienāds ar | |
& | Virkņu konkatenācijas operators | "Labdien" &; " " &; "Pasaule" | Vairākas virknes tiek rādītas kā nepārtrauktas |
&&vai un | Loģiskie operatori | Cena < 100 & Slider1.Value = 20 vai Cena < 100 Un Slider1.Value = 20 |
Loģiskais apvienojums, kas ir ekvivalents funkcijai And |
|| vai Vai arī | Cena < 100 || Slider1.Value = 20 vai Price < 100 Or Slider1.Value = 20 | Loģiskais nošķīrums, kas ir ekvivalents funkcijai Or | |
! vai Nav | ! (Cena < 100) vai nē (cena < 100) | Loģiskais noliegums, kas ir ekvivalents funkcijai Not | |
Exactin | Dalības operatori | Galerija1.Atlasīts exactin SavedItems | Pieder kolekcijai vai tabulai |
Exactin | "Windows" exactin "Lai parādītu logus Windows operētājsistēmā..." | Apakšvirknes tests (reģistrjutīgs) | |
gadā | Galerija1.Atlasīts sadaļā SavedItems | Pieder kolekcijai vai tabulai | |
gadā | "The" sadaļā "Tastatūra un monitors..." | Apakšvirknes tests (reģistrnejutīgs) | |
@ | Neskaidrības operators | MyTable[@fieldname] | Lauka neviennozīmība |
@ | [@MyVariable] | Globālā neviennozīmība | |
, [no valodas atkarīgais] |
Saraksta atdalītājs | ja( x < 10, "zems", "labs" ) { X: 12, Y: 32 } [ 1, 2, 3 ] |
Atdala: Šī rakstzīme ir atkarīga no valodas. |
; [no valodas atkarīgais] |
Formulu saķēdēšana | savākt(T, A); Navigēt(S1, "") | Atsevišķas izsaukumu funkcijas uzvedības rekvizītos. Šis saķēdēšanas operators ir atkarīgs no valodas. |
Kā | Kā operators | AllCustomers kā klients | Pārlabo ThisItem un ThisRecord galerijās un ieraksta tvēruma funkcijās. Tas ir noderīgi, lai nodrošinātu labāku, konkrētu nosaukumu, un ir īpaši svarīgi ligzdotos scenārijos. |
Self | Pašapkalpošanās operators | Self.Fill | Piekļuve pašreizējās vadīklas rekvizītiem |
vecākelements | vecākelements operators | Vecāks.Aizpildiet | Piekļuve vadīklas konteinera rekvizītiem |
ŠisItem | ThisItem operators | ThisItem.FirstName | Piekļuve galerijas vai formas vadīklas laukiem |
ŠisRekords | ThisRecord operators | ThisRecord.FirstName | Piekļuve pilnīgam ierakstam un atsevišķiem ieraksta laukiem ForAll, Sum, With un citām ieraksta tvērumu funkcijām. Var tikt pārlabots ar Kā operatoru. |
Note
Operatoru @ var izmantot arī, lai validētu ieraksta objekta tipu attiecībā pret datu avotu. Piemēram, Collect(coll,Account@{'Account Number: 1111')
in un exactin operators
Izmantojiet operatorus in un exactin, lai atrastu virkni datu avotos, piemēram, kolekciju vai importētu tabulu. in operators identificē atbilstības neatkarīgi no reģistra, un exactin operators identificē atbilstības tikai tad, ja tās ir kapitalizētas tādā pašā veidā. Šeit ir piemērs:
Izveidojiet vai importējiet kolekciju ar nosaukumu Krājumi un parādiet to galerijā, kā aprakstīts pirmajā procesā Rādīt attēlus un tekstu galerijā.
Iestatiet galerijas rekvizītu Vienumi šai formulai:
Filter(Inventārs, "E" laukā ProductName)Galerijā ir parādīti visi produkti, izņemot Callisto, jo šī produkta nosaukums ir vienīgais, kas nesatur norādīto burtu.
Mainiet galerijas rekvizītu Vienumi šai formulai:
Filter(Inventārs, "E" exactin ProductName)Galerija rāda tikai Eiropa, jo tikai tā nosaukumā ir iekļauts jūsu norādītajā gadījumā norādītais burts.
ThisItem, ThisRecord un Kā operatori
Dažas vadīklas un funkcijas lieto formulas atsevišķiem tabulas ierakstiem. Lai atsauktos uz atsevišķu formulas ierakstu, izmantojiet kādu no šīm iespējām:
Operators | Attiecas uz | Apraksts |
---|---|---|
ŠisItem | Galerijas vadīkla Veidlapas vadīklas rediģēšana Parādīšanas formas vadīkla |
Pašreizējā ieraksta noklusējuma nosaukums Galerijā vai veidlapas vadīklā. |
ŠisRekords | ForAll,Filter,With,Sum ... ... ... un citas ieraksta tvēruma funkcijas | Pašreizējā ieraksta noklusējuma nosaukums ir ForAll un citas ieraksta tvēruma funkcijas. |
Kānosaukums | Galerijas vadīkla ForAll,Filter,With,Sum ... ... ... un citas ieraksta tvēruma funkcijas |
Definē pašreizējā ieraksta nosaukumu, aizstājot noklusējuma ThisItem vai ThisRecord. Izmantojiet Kā, lai formulas būtu vienkāršāk saprotamas un atrisinātu neskaidrības ligzdošanas laikā. |
ThisItem operators
Piemēram, šajā vadīklas Galerija rekvizīts Elementi tiek iestatīts uz datu avotu Darbinieki (piemēram, tabula Darbinieki, kas iekļauta ar Northwind Traders paraugu):
Employees
Pirmais elements galerijā ir veidne, kas tiek replicēta katram darbiniekam. Veidnē attēla formula izmanto ThisItem, lai atsauktos uz pašreizējo elementu:
ThisItem.Picture
Arī nosaukuma formula izmanto ThisItem:
ThisItem.'First Name' & " " & ThisItem.'Last Name'
ThisRecord operators
ThisRecord tiek izmantots funkcijās, kurām ir ieraksta tvērums. Piemēram, izmantojot funkciju Filter, ar mūsu galerijas rekvizītu Elementi, lai parādītu tikai vārdus, kas sākas ar M:
Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )
ThisRecord ir neobligāts un netieši norādīts, izmantojot laukus tieši, piemēram, šajā gadījumā mēs varētu būt rakstījuši:
Filter( Employees, StartsWith( 'First Name', "M" ) )
Lai gan neobligāts, ThisRecord izmantošana var padarīt formulas vienkāršāk saprotamas un var būt nepieciešams neskaidrās situācijās, kur lauka nosaukums var būt arī attiecību nosaukums. ThisRecord ir neobligāts, kamēr ThisItem vienmēr ir nepieciešams.
Izmantojiet ThisRecord, lai atsauktos uz visu ierakstu ar Patch, Collect un citām ieraksta tvēruma funkcijām. Piemēram, tālāk norādītā formula iestata visu neaktīvo darbinieku statusu uz aktīvs:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees,
Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )
Kā operators
Izmantojiet operatoru Kā, lai izveidotu ieraksta nosaukumu galerijā vai ieraksta tvēruma funkcijā, pārlabojot noklusējuma ThisItem vai ThisRecord. Piešķirot nosaukumu ierakstam, formulas ir vienkāršāk saprotamas un tas var būt nepieciešamas, lai ligzdotās situācijās piekļūtu citu tvērumu ierakstiem.
Piemēram, varat modificēt galerijas rekvizītu Elementi, izmantojot Kā, lai noteiktu, ka tiek strādāts ar Darbinieku:
Employees As Employee
Attēla un nosaukuma formulas ir pielāgotas izmantot šo nosaukumu pašreizējam ierakstam:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
Kā to var izmantot arī ar ierakstu tvēruma funkcijām, lai aizstātu noklusējuma nosaukumu ThisRecord. To ir iespējams pielietot iepriekšējam piemēram, lai precizētu ierakstu, ar ko tiek strādāts:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees As Employee,
Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )
Ligzdojot galerijas un ierakstu tvērumu funkcijas, ThisItem un ThisRecord vienmēr atsaucas uz lielāko iekšējo tvērumu, atstājot ierakstus ārējos tvērumos nepieejamus. Izmantojiet Kā, lai padarītu pieejamus visus ierakstu tvērumus, piešķirot katram no tiem unikālu nosaukumu.
Piemēram, šī formula izveido šaha galdiņa modeli kā teksta virkni, ligzdojot divas ForAll funkcijas:
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
)
Vadīklas Etiķete rekvizīta Teksts iestatīšana šai formulai parāda:
Kas šeit notiek:
- Sāksim no funkcijas Sequence atkārtojot nenosauktu tabulu ar 8 numurētiem ierakstiem. Šī cilpa ir katrai galdiņa rindai un to parasti sauc par Rangu, tāpēc arī mēs piešķirsim tai šādu nosaukumu.
- Katrai rindai atkārtojam jaunu nenosauktu 8 kolonnu tabulu, un piešķiram kopīgu nosaukumu Fails.
- Ja Rank.Value + File.Value ir nepāra skaitlis, tad kvadrāts iegūst X, pretējā gadījumā – punktu. Šī formulas daļa atsaucas uz abām ForAll cilpām, kas ir iespējamas, izmantojot Kā operatoru.
- Concat tiek izmantots divas reizes, vispirms kolonnu un pēc tam rindu salikšanai, ar Char(10) iemestu , lai izveidotu jaunu līniju.
Līdzīgs piemērs ir iespējams izmantojot ligzdotas Galerijas vadīklas, nevis ForAll funkcijas. Sāksim ar Ranga vertikālo galeriju. Šai galerijas vadīklai būs šāda Elementu formula:
Sequence(8) as Rank
Šajā galerijā ir jāizvieto Faila horizontālā galerija, kas tiks replicēta katram Rangam ar rekvizītu Elementi:
Sequence(8) as File
Un visbeidzot, šajā galerijā ir jāpievieno Etiķetes vadīkla, kas tiks replicēta katram Failam un katram Rangam. Pielāgojiet izmērus, lai aizpildītu visu telpu, un, izmantojiet rekvizītu Aizpildījums, lai nodrošinātu krāsu ar šādu formulu:
If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )
Pastāvīgie un primārie operatori
Ir trīs paņēmieni, kādos atsaukties uz vadīklu un tās rekvizītiem formulā:
Metode | Apraksts |
---|---|
Pēc vadīklas nosaukuma | Uz jebkuru vadīklu var atsaukties, izmantojot nosaukumu no jebkuras vietas programmā. Piemēram, Label1.Fill atsaucas uz aizpildīšanas rekvizītu vadīklā, kuras nosaukums ir Label1. |
Pašapkalpošanās operators | Rakstot formulu, bieži ir izdevīgi atsaukties uz citu tās pašas vadīklas rekvizītu. Tā vietā, lai izmantotu absolūto atsauci pēc nosaukuma, ir vieglāk un ērtāk izmantot relatīvo atsauci uzpašu. Pastāvīgais operators nodrošina šo vienkāršo piekļuvi pašreizējai vadīklai. Piemēram, Self.Fill atsaucas uz pašreizējās vadīklas aizpildījuma krāsu. |
vecākelements operators | Dažas vadīklas uztur citas vadīklas, piemēram, Screen un Gallery vadīklas. Vadīklu viesošanas vadīkla tiek saukta par primāro. Tāpat kā Pastāvīgais operators, Primārais operators nodrošina vienkāršu relatīvo atsauci uz konteinera vadīklu. Piemēram, Parent.Fill atsaucas uz aizpildīšanas rekvizītu vadīklā, kura ir pašreizējās vadīklas konteiners. |
Paši un vecākelements ir operatori, nevis paši vadības ierīču rekvizīti. Atsaukšanās uz Parent.Parent, Self.Parent vai Parent.Self netiek atbalstīta.
Identifikatoru nosaukumi
Mainīgo, datu avotu, kolonnu un citu objektu nosaukumos var būt jebkurš Unikods.
Izmantojiet vienpēdiņas ap nosaukumu, kas satur atstarpi vai citu speciālo rakstzīmi.
Izmantojiet divas atsevišķas vienpēdiņas kopā, lai nosaukumā attēlotu vienu pēdiņu. Nosaukumiem, kas nesatur speciālās rakstzīmes, nav nepieciešamas atsevišķas pēdiņas.
Šeit ir daži kolonnu nosaukumi, kas var rasties tabulā, un to attēlojums formulā:
Kolonnas nosaukums datu bāzē | Kolonnas atsauce formulā |
---|---|
SimpleName | SimpleName |
NameWith123Numbers | NameWith123Numbers |
Vārds ar tukšumzīmēm | 'Name with spaces' |
Nosaukums ar “dubultajām” pēdiņām | 'Name with "double" quotes' |
Nosaukums ar “atsevišķajām” pēdiņām | 'Name with ''single'' quotes' |
Vārds, kuram ir zīme @ | 'Name with an @ at sign' |
Dubultās pēdiņas tiek izmantotas, lai norādītu teksta virknes.
Parādāmie nosaukumi un loģiskie nosaukumi
Dažos datu avotos, piemēram, SharePoint un Microsoft Dataverse, ir divi dažādi nosaukumi, kas norāda uz vienu un to pašu datu tabulu vai kolonnu:
Loģiskais nosaukums - nosaukums, kas garantēti ir unikāls, pēc izveidošanas nemainās, parasti neatļauj atstarpes vai citas speciālās rakstzīmes un nav lokalizēts dažādās valodās. Tāpēc nosaukums var būt nesaprotams. Šos nosaukumus izmanto profesionāli izstrādātāji. Piemēram, cra3a_customfield. Šo nosaukumu var saukt arī par shēmas nosaukumu vai tikai nosaukumu.
Parādāmais vārds — lietotājvārds, kas ir lietotājam draudzīgs un paredzēts, lai to redzētu galalietotāji. Šis nosaukums var nebūt unikāls, ar laiku var mainīties, tajā var būt tukšumzīmes un jebkura unikoda rakstzīme, un tas var tikt lokalizēts dažādās valodās. Atbilstoši iepriekš minētajam piemēram, parādāmais nosaukums var būt Pielāgots lauks ar atstarpi starp vārdiem.
Tā kā parādāmos nosaukumus ir vieglāk izprast, pamatnes programmas ieteiks tos kā izvēles un nepiedāvās loģiskos nosaukumus. Lai gan loģiskie nosaukumi netiek piedāvāti, tos joprojām var lietot, ierakstot netieši.
Piemēram, jūs esat pievienojis Pielāgotu lauku tabulai programmā Dataverse. Loģiskais nosaukums jums tiks piešķirts sistēmā, kuru var modificēt, tikai veidojot lauku. Rezultāts varētu izskatīties līdzīgi kā:
Autorizējot atsauci uz kontu lauku, tiks ieteikts izmantot Custom Field', jo tas ir parādāmais nosaukums. Jāizmanto vienpēdiņas, jo šajā nosaukumā ir atstarpe:
Pēc ieteikuma atlases formulu joslā tiek parādīts 'Custom Field' un dati tiek izgūti:
Lai gan nav ieteicams, šajā laukā var izmantot arī loģisko nosaukumu. Tas izraisīs tādu pašu datu izgūšanu. Atsevišķas pēdiņas nav nepieciešamas, jo šajā nosaukumā nav atstarpju vai speciālo rakstzīmju:
Fonā tiek uzturēts kartējums starp formulās redzamajiem parādāmajiem nosaukumiem un pamatā esošajiem loģiskajiem nosaukumiem. Tā kā loģiskie nosaukumi ir jāizmanto, lai mijiedarbotos ar datu avotu, šis kartējums tiek izmantots, lai no pašreizējā parādāmā nosaukuma automātiski pārvērstu loģisko nosaukumu, un tas ir redzams tīkla datplūsmā. Kartējums tiek izmantots arī, lai pārvērstu atpakaļ loģiskos nosaukumus, pārslēdzoties uz jauniem parādāmajiem nosaukumiem, piemēram, ja parādāmais nosaukums tiek nomainīts vai veidotājs rediģē programmu citā valodā.
Note
Pārvietojot programmu starp vidēm, loģiskie nosaukumi netiek tulkoti. Sistēmas Dataverse tabulu un lauku nosaukumiem tā nedrīkst būt problēma, jo loģiskie nosaukumi dažādās vidēs ir konsekventi. Taču jebkuriem pielāgotiem laukiem, piemēram, cra3a_customfield iepriekš minētajā piemērā, var būt atšķirīgs vides prefikss (šajā gadījumācra3a ). Tiek dota priekšroka parādāmajiem nosaukumiem, jo tos jaunajā vidē var saskaņot ar parādāmajiem nosaukumiem.
Nosaukuma neviennozīmība
Tā kā parādāmais nosaukums nav unikāls, tas pats parādāmais nosaukums tajā pašā tabulā var tikt parādīts vairākas reizes. Kad tas notiek, loģiskais nosaukums tiks pievienots parādāmā vārda beigās iekavās vienam no vairākiem konfliktējošajiem nosaukumiem. Pamatojoties uz iepriekš minēto piemēru, ja būtu otrs lauks ar tādu pašu parādāmo nosaukumu Custom Field ar loģisko nosaukumu cra3a_customfieldalt, tad ieteikumos būtu redzams:
Nosaukuma viennozīmīgās virknes tiek pievienotas citās situācijās, kur rodas nosaukumu konflikti, piemēram, tabulu, izvēļu un citu Dataverse elementu nosaukumi.
Neviennozīmības operators
Dažas funkcijas veido ieraksta tvērumus, lai piekļūtu tabulas laukiem, kamēr apstrādā katru no ierakstiem, piemēram, Filter, AddColumns un Sum. Ar ierakstu tvērumu pievienotie lauku nosaukumi ignorē tos pašus nosaukumus, kas ir citur programmā. Šādā gadījumā joprojām var piekļūt vērtībām, kas neatrodas ieraksta tvērumā, ar @ neviennozīmības operatoru:
- Lai piekļūtu vērtībām no ligzdotiem ieraksta tvērumiem, izmantojiet @ operatoru ar tās tabulas nosaukumu, kas tiek darbināta, izmantojot šo shēmu:
Tabula[@FieldName] - Lai piekļūtu globālām vērtībām, piemēram, datu avotiem, kolekcijām un konteksta mainīgajiem, izmantojiet shēmu [@ObjectName] (bez tabulas apzīmējuma).
Papildinformāciju un piemērus skatiet sadaļā Ieraksta tvērumi.