Kopīgot, izmantojot


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

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

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

  3. 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.
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 , 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

Darbinieki parādīti galerijā.

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

Formula darbinieka attēlam.

Arī nosaukuma formula izmanto ThisItem:

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

Formula darbinieka pirmajam un uzvārds.

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" ) )

Darbinieku filtrēšana pēc vārda, izmantojot ThisRecord.

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 , 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 , lai noteiktu, ka tiek strādāts ar Darbinieku:

Employees As Employee

Darbinieku galerija, izmantojot operatoru A.

Attēla un nosaukuma formulas ir pielāgotas izmantot šo nosaukumu pašreizējam ierakstam:

Employee.Picture

Tāda darbinieka attēls, kurš izmanto darbinieka vārdu kopu ar operatoru As.

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

Darbinieka pirmais un uzvārds, izmantojot darbinieka vārdu kopu ar operatoru As.

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

Šaha galdiņa teksts, kas tiek rādīts etiķetes vadīklā.

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

Ilustrācija ārējai galerijai, kas nodrošina ranga iterāciju.

Šajā galerijā ir jāizvieto Faila horizontālā galerija, kas tiks replicēta katram Rangam ar rekvizītu Elementi:

Sequence(8) as File

Ilustrācija iekšējai galerijai, kas nodrošina faila iterāciju.

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 )

Etiķešu kontrole abās galerijās, kas nodrošina šaha galdiņa mainīgās krāsas.

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

Kontu tabula ar pievienotu pielāgotu lauku, kurā redzams parādāmais nosaukums

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:

Studijas formulu josla, kurā redzami kontu lauku nosaukumu ieteikumi ar iezīmētu parādāmo nosaukumu

Pēc ieteikuma atlases formulu joslā tiek parādīts 'Custom Field' un dati tiek izgūti:

Studijas formulu josla, kurā redzams, kā laukam tiek izmantots parādāmais nosaukums

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:

Studijas formulu josla, kurā redzams lauka loģiskā nosaukuma cr5e3_customfield lietojums.

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:

Studijas formulu josla, kurā redzams loģiskā nosaukuma cr5e3_customfieldalt lietojums, lai neskaidrotu abas

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.