Tehtemärgid ja identifikaatorid Power Appsis

Kehtib: lõuendirakendused Mudelipõhised rakendused

Mõned need tehtemärgid sõltuvad autori keelest. Lisateavet keeletoe kohta lõuendirakendustes leiate jaotisest Globaalsed rakendused.

Sümbol Tüüp Näide Kirjeldus
'...' identifikaator 'Ettevõtte nimi' Erimärke, sealhulgas tühikuid, sisaldavad identifikaatorid on ümbritsetud jutumärkidega
"..." Tekstistring "Tere, maailm" Tekstistringid on ümbritsetud jutumärkidega
$"..." Stringi interpoleerimine $"Lugupeetud {FirstName}," Tekstistringi manustatud valemid
. Atribuudi valija Slider1.Value
Color.Red
Acceleration.X
Ekstraktib tabelist, juhtelemendist, signaalist või loetelust atribuudi. Tagurpidi ühilduvuse jaoks, ! saab kasutada.
.
[keelest sõltuv]
Kümnendkoha eraldaja 1.23 Eraldaja arvu terviku ja osade vahel. Märk sõltub keelest.
( ) Sulud Filter(T, A < 10)

(1 + 2) * 3
Jõustab tähtsuse järjekorra ja rühmitab suuremas avaldises sisalduvad allavaldised
+ Aritmeetilised tehtemärgid 1 + 2 Liitmine
-   2 - 1 Lahutamine ja märk
*   2 * 3 Korrutamine
/   2 / 3 Jagamine (vt a funktsiooni Mod)
^   2 ^ 3 Astendamine, võrdne funktsiooniga Power
%   20% Protsent (võrdne "* 1/100")
= Võrdlustehted Price = 100 Võrdne väärtusega
>   Price > 100 Suurem kui
>=   Price >= 100 Suurem kui või võrdub
<   Price < 100 Väiksem
<=   Price <= 100 Väiksem kui või võrdub
<>   Price <> 100 Ei võrdu
& Stringi ühendamise tehtemärk "tere" & " & "maailm" Mitu stringi tunduvad pidevana
&või ja Loogika tehtemärgid Hind < 100 && Slider1.Väärtus = 20
või Price < 100 And Slider1.Value = 20
Loogiline konjuktsioon, mis on võrdne funktsiooniga And
|| või Or   Price < 100 || Slider1.Value = 20 või Price < 100 Or Slider1.Value = 20 Loogiline disjunktsioon, mis on võrdne funktsiooniga Or
! või Not   !(Price < 100) või Not (Price < 100) Loogiline eitus, mis on võrdne funktsiooniga Not
exactin Liikmesuse tehtemärgid Gallery1.Selected exactin SavedItems Kuuluvad kogumisse või tabelisse
exactin   "Windows" eksaktiin “Windowsi kuvamiseks operatsioonisüsteemis Windows...” Alamstringi test (tõusutundlik)
kohas   Gallery1.Selected in SavedItems Kuuluvad kogumisse või tabelisse
kohas   "The" kohas "The keyboard and the monitor..." Alamstringi test (pole tõusutundlik)
@ Ühtestamise tehtemärk MyTable[@fieldname] Välja ühtestamine
@   [@MyVariable] Globaalne ühtestamine
,
[keelest sõltuv]
Loendi eraldaja If( X < 10, "Low", "Good" )
{ X: 12, Y: 32 }
[ 1, 2, 3 ]
Eraldab: See märk sõltub keelest.
;
[keelest sõltuv]
Valemi aheldamine Collect(T, A); Navigate(S1, "") Eraldage käitumise atribuutides funktsioonide kutsumised. Aheldamise tehtemärk sõltub keelest.
Kui Tehtemärk: AllCustomers kui klient Alistab galeriides ja kirje ulatuse funktsioonides üksuses ThisItem ja ThisRecord. Kui on kasulik parema ja konkreetsema nime andmisel ning on eriti oluline pesastatud stsenaariumites.
Oma Tehtemärk Self Self.Fill Juurdepääs praeguse juhtelemendi atribuutidele
Parent Tehtemärk Ülem Parent.Fill Juurdepääs juhtelemendi ümbrise atribuutidele
ThisItem Tehtemärk ThisItem ThisItem.FirstName Juurdepääs galerii või vormi juhtelemendi väljadele
ThisRecord SelleKirje operaator ThisRecord.FirstName Ligipääs täielikule kirjele ja kirje üksikutele väljadele ForAll, Sum, With ja muude kirje ulatusega seotud funktsioonide raames. Saab alistada tehtemärgiga Kui.

Märkus.

@ tehtemärki saab kasutada ka kirje objekti tüübi valideerimiseks andmeallikas. Näiteks Collect(coll,Account@{'Account Number: 1111')

Tehtemärgid in ja exactin

Kasutage tehtemärke in ja exactin, et leida andmeallikas soovitud string, näiteks kogu või imporditud tabel. Tehtemärk in tuvastab vasted sõltumata juhtumist ja tehtemärk exactin tuvastab vasted ainult kui need on samade suurtähtedega. Vaatame näidet.

  1. Looge või importige kogum nimega Varud ja kuvage see galeriis, nagu esimene protseduur jaotises Piltide ja teksti kuvamine galeriis kirjeldab.

  2. Määrake juhtelemendi galerii atribuut Üksused järgmisele valemile:
    Filter(Inventory, "E" in ProductName)

    Galerii kuvab kõik tooted peale Callisto, kuna selle toote nimi on ainus, mis ei sisalda teie määratud tähte.

  3. Muutke juhtelemendi galerii atribuut Üksused järgmisele valemile:
    Filter(Inventory, "E" exactin ProductName)

    Galerii näitab ainult Euroopat, kuna ainult selle nimi sisaldab tähte, mille määratlesite juhtumis, mille määratlesite.

ThisItem, ThisRecord ja As kui tehtemärgid

Mõned juhtelemendid ja funktsioonid rakendavad valemeid tabeli üksikkirjetele. Valemis üksikkirjele viitamiseks kasutage üht järgmistest võimalustest.

Operaator Kehtib järgmiste puhul Kirjeldus
ThisItem Galerii juhtelement
Vormi redigeerimise juhtelement
Vormi kuvamise juhtelement
Praeguse kirje vaikenimi Galerii või vormi juhtelemendis.
ThisRecord Kõikide, Filter, Koos, Summa ja teiste kirje ulatuse funktsioonid Praeguse kirje vaikenimi funktsioonis ForAll ja muudes kirje ulatuse funktsioonides.
Kuinimi Galerii juhtelement
Kõikide, Filter, Koos, Summa ja muud kirje ulatuse funktsioonid
Määratleb praeguse kirje nime, asendades üksuse ThisItem või ThisRecord vaikesätte. Kasutage funktsiooni Kui, et muuta valemid lihtsamini mõistetavaks ja lahendada pesastamisel ebaselgusi.

Tehtemärk ThisItem

Näiteks järgmises galerii juhtelemendis, on atribuut Üksus väärtuseks seatud Töötajad andmeallikas (nt Töötajad tabel mis sisaldab Northwind Traders näidet):

Employees

Töötajad kuvatakse galeriis.

Galerii esimene üksus on mall, mida kasutatakse iga töötaja jaoks. Mallis kasutab pildi valem praegusele üksusele viitamiseks funktsiooni ThisItem:

ThisItem.Picture

Töötaja pildi valem.

Funktsiooni ThisItem kasutab ka nime valem:

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

Töötaja esimese ja perekonnanimi valem.

ThisRecord tehtemärk

SeeKirje kasutatakse kirje ulatusega funktsioonides. Näiteks saame kasutada funktsiooni Filter oma galerii suvandis Üksused, et kuvada vaid tähega M algavad eesnimed:

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

Töötajate filtreerimine nime alusel, kasutades funktsiooni ThisRecord.

ThisRecord on valikuline ja tuleneb väljade otsekasutusest, näiteks antud juhul oleksime võinud kirjutada järgmist:

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

Kuigi see on valikuline, võib ThisRecord muuta valemid lihtsamini mõistetavaks ning selle kasutamine võib osutuda vajalikuks ebaselgetest olukordades, kus välja nimi võib olla ka seose nimi. ThisRecord on valikuline, kuid ThisItem on alati kohustuslik.

Kasutage funktsiooni ThisRecord, et viidata kogu kirjele funktsioonidega Patch, Collect ja muude kirje ulatuse funktsioonidega. Näiteks järgmine valem määrab kõigi passiivsete töötajate oleku aktiivseks.

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

Kui tehtemärk

Kasutage tehtemärki Kui, et nimetada galerii kirje või kirje ulatuse funktsioon, alistades vaikimisi sätte ThisItem või ThisRecord. Kirjele nime andmine võib muuta teie valemid lihtsamini mõistetavaks ning pesastatud olukordades võib see olla vajalik muudesse ulatustesse jäävatele kirjetele ligi pääseda.

Näiteks saate muuta meie galerii suvandit Üksused, et kasutada tehtemärki Kui selleks, et teha kindlaks, kas me töötame töötajaga.

Employees As Employee

Töötajate galerii, kasutades operaatorit As.

Pildi ja nime valemeid kohandatakse, et kasutada praeguse kirje jaoks antud nime.

Employee.Picture

Pilt töötajast, kes kasutab tehtemärgiga As määratud töötaja nime.

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

Töötaja esimene ja perekonnanimi, kasutades tehtemärgiga As määratud töötaja nime.

Kui tehtemärki saab kasutada ka kirje ulatuse funktsioonidega, et asendada vaikenimi ThisRecord. Me saame seda rakendada eelmisele näitele, et selgitada kirjet, millega töötame:

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

Galeriide ja kirje ulatuse funktsioonide pesastamisel viitavad ThisItem ja ThisRecord alati kõige sisemisele ulatusele, jättes väliste ulatuste kirjed kättesaamatuks. Kõikide kirjete kättesaadavaks muutmiseks kasutage tehtemärki Kui, andes igaühele kordumatu nime.

Näiteks see valem moodustab tekstistringina malelauamustri, pesastades pesastades kaks ForAll funktsiooni.

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
)

Juhtelemendi Silt atribuudi Tekst määramine antud valemile kuvatakse järgmiselt:

Malelaua tekst, mis kuvatakse sildi juhtelemendis.

Räägime lahti, mis siin toimub.

  • Alustame sellest, et itereerime funktsioonist Sequence kaheksast nummerdatud kirjest koosneva nimetu tabeli. See tsükkel kehtib laua iga rea jaoks, mida kutsutakse tavaliselt nimega Järk, seega anname talle vastava nime.
  • Iga rea kohta itereerime veel ühe kaheksast veerust koosneva nimetu tabeli ning anname talle ühtse nime Fail.
  • Kui Rank.Value + File.Value on paaritu arv, siis märgitakse ruutu X, vastasel juhul aga täpp. See valem viitab tänu tehtemärgi Kui kasutamisele mõlemale ForAll tsüklile.
  • Kontakti kasutatakse kaks korda, esmalt veergude koondamiseks ja seejärel ridade Char(10) uue rea loomiseks.

Sarnane näide on ForAll funktsioonide asemel ka pesastatud Galerii juhtelementidega. Alustame suvandi Järk vertikaalselst galeriist. Antud galerii juhtelemendi Üksused valem on järgmine.

Sequence(8) as Rank

Auastme iteratsiooni pakkuva välimise galerii pilt.

Asetame galeriisse suvandi Fail horisontaalse galerii, mis kopeeritakse iga Järgu jaoks järgmise Üksused atribuudiga.

Sequence(8) as File

Faili iteratsiooni pakkuva sisemise galerii pilt.

Lõpetuseks lisame galeriisse juhtelemendi Silt, mis kopeeritakse iga Faili ja iga Järgu jaoks. Määrame selle täitma kogu ruumi ning kasutame suvandit Täida, et anda järgmise valemi abil värv.

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

Siltide juhtimine kahes galeriis, mis pakub malelauale vahelduvaid värve.

Tehtemärgid Self ja Parent

Valemis on juhtelemendile ja selle atribuutidele viitamiseks kolm võimalust.

Meetod Kirjeldus
Juhtelemendi nime kaudu Igale juhtelemendile on võimalik viidata selle nime kaudu kogu rakenduses.

Näiteks Label1.Fill viitab täiteatribuudile, mis kuulub juhtelemendile, mille nimi on Label1.
Self operaator Sageli on otstarbekas viidata valemi kirjutamisel sama juhtelemendi mõnele muule atribuudile. Selle asemel, et kasutada absoluutset nimeviidet, on hõlpsam ja teisaldatavam kasutada suhtelist viidet iseendale (self). Tehtemärk Self annab lihtsasti juurdepääsu praegusele juhtelemendile.

Näiteks viitab Self.Fill praeguse juhtelemendi täitevärvile.
Ülem operaator Mõned juhtelemendid majutavad muid juhtelemente, sealhulgas näiteks juhtelemendid Screen ja Gallery. Endas juhtelemente majutavat juhtelementi kutsutakse ülem. Nii nagu tehtemärk Self, pakub ka tehtemärk Parent võimalust viidata suhteliselt konteineri juhtelemendile.

Näiteks viitab Parent.Fill täiteatribuudile, mis kuulub juhtelemendile, mis on praeguse juhtelemendi konteiner.

Self ja Parent on tehtemärgid ja mitte juhtelementide endite atribuudid. Viiteid Parent.Parent, Self.Parent või Parent.Self toetata.

Identifikaatori nimed

Muutujate, andmeallikate, veergude ja muude objektide nimed võivad sisaldada Unicode’i.

Kasutage tühikut või muud erimärki sisaldava nime ümber ühekordseid jutumärke.
Kasutage kahte ühekordset jutumärki koos, et tähistada ühte ühekordset jutumärki nimes. Erimärke mitte sisaldavad nimed ei vaja ühekordseid jutumärke.

Siin on mõned näited veergude nimedest, mis võivad tabelis esineda, ja kuidas nad on valemites esindatud:

Veeru nimi andmebaasis Viide veerule valemis
SimpleName SimpleName
NameWith123Numbers NameWith123Numbers
Name with spaces 'Name with spaces'
Name with "double" quotes 'Name with "double" quotes'
Name with 'single' quotes 'Name with ''single'' quotes'
Name with an @ at sign 'Name with an @ at sign'

Kahekordseid jutumärke kasutatakse tekstistringi määramiseks.

Kuvatavad nimed ja loogilised nimed

Teatud andmeallikates (nt SharePoint ja Microsoft Dataverse) on kaks erinevat nime, mis viitavad samale tabelile või andmete veerule.

  • Loogiline nimi – nimi, mis on garanteeritult kordumatuna, ei muutu pärast loomist, tavaliselt ei luba tühikuid ega teisi erimärke ning seda ei saa erinevates keeltes lokaliseerida. Selle tulemusel võib nimi olla arusaamatu. Neid nimesid kasutavad professionaalsed arendajad. Näiteks cra3a_customfield. Sellele nimele võidakse viidata ka kui skeemi nimi või lihtsalt nimi.

  • Kuvatav nimi – nimi, mis on kasutajasõbralik ja mis on mõeldud lõppkasutajate poolt nägemiseks. See nimi ei pruugi olla kordumatu, võib aja jooksul muutuda, võib sisaldada tühikuid ja mis tahes Unicode’i märki ning võib olla lokaliseeritud erinevates keeltes. Vastavalt ülaltoodud näitele võib kuvanimi olla Kohandatud väli, kus sõnade vahel on tühik.

Kuna kuvatavaid nimesid on hõlpsam mõista, pakub lõuendirakendus neid valikuna ja ei soovita loogilisi nimesid. Kuigi loogilisi nimesid ei soovitada kasutada, siis saab seda siiski teha, kui need on tipitud kaudselt.

Näiteks, kujutage, et olete lisanud Kohandatud välja tabelisse rakenduses Dataverse. Süsteem määrab teile loogilise nime, mida saate muuta ainult välja loomisel. Tulemus näeks välja sarnane järgnevale:

Kontode tabel, kuhu on lisatud kohandatud väli, kus on kuvatav nimi

Lubades viitamise kontode väljale, soovitatakse kasutada suvandit Kohandatud väli, kuna see on kuvatav nimi. Kuna see nimi hõlmab tühikut, tuleb kasutada üksikjutumärke:

Stuudio valemiriba, kus on kuvatud soovitused kontode väljanimede kohta, kus kuvatav nimi

Pärast soovituse valimist kuvatakse valemiribal 'Kohandatud väli' ja hangitakse andmed:

Stuudio valemiriba, mis näitab välja kuvatava nime

Kuigi seda ei soovitata, võiksime kasutada selle välja jaoks ka loogilist nime. Selle tulemuseks on samade andmete toomine. Üksikud jutumärgid pole vajalikud, kuna see nimi ei sisalda tühikuid ega erimärke:

Stuudio valemiriba, mis näitab välja loogilise nime kasutamist cr5e3_customfield.

Taustal säilitatakse vastendamine valemites nähtavate kuva nimede ja nende aluseks olevate loogiliste nimede vahel. Kuna andmeallikaga suhtlemiseks tuleb kasutada loogilisi nimesid, kasutatakse seda vastendamist automaatselt praeguselt kuvatavalt nimelt loogilisele nimele teisendamiseks ja seda nähakse võrguliikluses. Vastendust kasutatakse ka loogilistele nimedele tagasi teisendamiseks, et lülituda ümber uutele kuvatavatele nimedele, näiteks kui kuvatav nimi muutub muukeelne tegija muudab rakendust.

Märkus.

Loogilisi nimesid rakenduse erinevate keskkondade vahel liigutamisel ei tõlgita. Dataverse süsteemitabelite ja väljade nimede puhul ei tohiks see probleem olla, kuna loogikanimed on erinevates keskkondades ühtsed. Kuid kõik kohandatud väljad, näiteks cra3a_customfield selles näites, võivad omada erinevat keskkonna eesliidet (antud juhul cra3a). Kuvatavad nimed on eelistatud, kuna neid saab vastendada uue keskkonna kuvamise nimedega.

Nime ühtestamine

Kuna kuvatavad nimed pole kordumatud, võib sama kuvatav nimi olla samas tabelis rohkem kui üks kord. Kui see juhtub, siis lisatakse ühe või mitme vastuolulise nime jaoks kuvatava nime lõppu sulgudesse loogiline nimi. Tuginedes eelmisele näitele, kui sama kuvatava nimega Kohandatud väli oleks teine väli, mille loogiline nimi on cra3a_customfieldalt, siis näitaksid soovitused järgmist:

Stuudio valemiriba, mis näitab loogilise nime kasutamist cr5e3_customfieldalt

Nimestringid lisatakse muudes nimede vastuolude olukordades nagu näitekss tabeli nimedes, valikutes ja muudes Dataverse üksustes.

Ühtestamise tehtemärk

Mõned funktsioonid loovad iga kirje töötlemise ajal tabeli väljade hindamiseks kirjete ulatused, nagu Filter, AddColumns ja Sum. Kirje ulatusega lisatud väljade nimed tühistavad samad nimed mujal rakenduses. Kui nii juhtub, saate siiski pääseda juurde väärtustele, mis jäävad väljapoole ühtestamise tehtemärgi @kirje ulatust.

  • Pesastatud kirje ulatustest väärtustele juurdepääsuks kasutage tehtemärki @ koos tabeli nimega, mida kasutatakse selle musti kasutamisel.
    Tabel[@VäljaNimi]
  • Globaalsetele väärtustele (nt andmeallikad, kogumid ja konteksti muutujad) juurdepääsuks kasutage mustrit [@ObjectName] (ilma tabeli määramiseta).

Lisateavet ja näiteid vaadake kirjete ulatustest.