Бөлісу құралы:


Power Apps платформасындағы операторлар мен идентификаторлар

Қолданылады: Canvas қолданбалары Үлгіге негізделген қолданбалар Power Pages

Бұл операторлардың кейбіреулері автордың тіліне байланысты. Кенеп бағдарламаларындағы тілге қолдау көрсету туралы қосымша ақпаратты Глобалдық бағдарламалар бөлімінен қараңыз.

Белгі Түр Мысал Сипаттама
'...' Идентификатор 'Тіркелгі аты' Арнайы таңбаларды, соның ішінде бос орындарды қамтитын идентификаторлар жалғыз тырнақшаға алынады
"..." Мәтін жолы "Hello, World" Мәтіндік жолдары қос тырнақшаға алынады
$"..." Жол интерполяциясы $"Құрметті {FirstName}," Мәтін жолына ендірілген формулалар
. Сипатты таңдау құралы Slider1.Value
Color.Red
Acceleration.X
Сипатты кесте, басқару элементі, сигнал немесе тізу әрекеті ішінен шығарады. Кері үйлесімділік үшін ! белгісін пайдалануға болады.
.
[тілге тәуелді]
Ондық бөлгіші 1.23 Санның бүтін және бөлшек бөліктері арасындағы бөлгіш. Таңба тілге байланысты болады.
( ) Жақшалар Сүзгі(T, A < 10)

(1 + 2) * 3
Басымдық тәртібін қолданады және ішкі өрнектерді үлкенірек өрнектерге топтайды
+ Арифметикалық операторлар 1 + 2 Қосу
-   2-1 Алу және белгі
*   2 * 3 Көбейту
/   2 / 3 Бөлу (сондай-ақ Mod функциясын қараңыз)
^   2 ^ 3 Дәрежеге шығару, Power функциясының баламасы
%   20% Пайыз (баламасы "* 1/100")
= Салыстыру операторлары Баға = 100 Тең
>   Баға > 100 Келесіден үлкен
>=   Баға >= 100 Үлкенірек немесе тең
<   Баға < 100 Келесіден кіші
<=   Баға <= 100 Келесі мәннен кіші немесе тең
<>   Баға <> 100 Келесіге тең емес
& Жолдарды байланыстыру операторы "сәлем" & " " & «әлем» Бірнеше жолдарды үздіксіз етіп жасайды
&& немесе Және Логикалық операторлар Бағасы < 100 & Slider1.Мән = 20
немесе Бағасы < 100 Және Slider1.Value = 20
Логикалық үйлесімділік, And функциясының баламасы
|| немесе Немесе   Price < 100 || Slider1.Value = 20 немесе Price < 100 немесе Slider1.Value = 20 Логикалық ажырау, Or функциясының баламасы
! немесе Емес   !(Баға < 100) немесе Емес (Баға < 100) Логикалық теріске шығару, Not функциясының баламасы
exactin Мүшелік операторлары Gallery1.Selected exactin SavedItems Жинаққа немесе кестеге тиесілі
exactin   "Windows" exactin "Windows амалдық жүйесінде терезелерді көрсету үшін..." Қосалқы жол сынағы (регистрді ескеру)
ішінде   Gallery1.Selected in SavedItems Жинаққа немесе кестеге тиесілі
ішінде   "The" in "Пернетақта және монитор..." Қосалқы жол сынағы (регистрді ескермеу)
@ Айырмашылықты жою операторы MyTable[@fieldname] Өріс айырмашылығын жою
@   [@MyVariable] Глобалды айырмашылықты жою
,
[тілге тәуелді]
Тізім бөлгіші Егер (X<10, "Төмен", "Жақсы")
{ X: 12, Y: 32 }
[ 1, 2, 3 ]
Бөлгіштер: Бұл таңба тілге байланысты болады.
;
[тілге тәуелді]
Формула тізбегі Жинау(T, A); Шарлау(S1, "") Әрекет сипаттарындағы функциялардың жеке шақырулары. Тізбектеу операторы тілге байланысты болады.
Ретінде As операторы: Барлық тұтынушылар тұтынушы ретінде Галереялардағы ThisItem және ThisRecord және жазба ауқымының функцияларын алдын ала анықтайды. As жақсырақ, нақты атау беру үшін пайдалы және әсіресе кірістірілген сценарийлерде маңызды.
Өзім Жеке оператор Self.Fill Ағымдағы басқару құралының сипаттарына қатынасады
Басты Басты оператор Parent.Fill Басқару элементі контейнерінің сипаттарына қол жеткізу
ThisItem ThisItem операторы ThisItem.FirstName Галереяның өрістеріне немесе пішінді басқару элементтеріне қол жеткізу
ThisRecord ThisRecord операторы ThisRecord.FirstName ForAll, Sum, With және басқа жазба ауқымының функциялары шеңберінде толық жазбаға және жазбаның жеке өрістеріне қатынасыңыз. As операторы көмегімен алдын ала анықтауға болады.

Ескертпе

Сондай‑ақ @ операторын деректер көзімен жазба нысанының түрін тексеру үшін қолдануға болады. Мысалы, Collect(coll,Account@{'Account Number: 1111')

ішінде және "exactin" операторлары

Жинақ немесе импортталған кесте сияқты деректер көзінен жол табу үшін in және exactin операторларын пайдаланыңыз. Ішінде операторы сәйкестіктерді регистрге қарамастан табады, ал exactin операторы сәйкестіктерді тек бас әріптері бірдей болса анықтайды. Төменде мысалы берілген:

  1. Галереяда кескіндерді және мәтінді көрсету бөлімінің бірінші процедурасында сипатталғандай Қор деп аталатын жинақты жасаңыз немесе импорттаңыз да, галерея ішінде көрсетіңіз.

  2. Галереяның Элементтер сипатын мына формулаға орнатыңыз:
    Filter(Inventory, ProductName атауындағы "E")

    Галерея Callisto-дан басқа барлық өнімдерді көрсетеді, өйткені бұл өнімнің атауы сіз көрсеткен әріпті қамтымайтын жалғыз өнім болып табылады.

  3. Галереяның Элементтер сипатын мына формулаға ауыстырыңыз:
    Filter(Inventory, ProductName exactin "E")

    Галерея тек Еуропаны ғана көрсетеді, өйткені тек соның аты сіз көрсеткен регистрде сіз көрсеткен әріптерден тұрады.

ThisItem, ThisRecord және As операторлары

Бірнеше басқару элементтері мен функциялар кестенің жеке жазбаларына формулалар қолданады. Формуладағы жеке жазбаларға сілтеме жасау үшін келесілердің бірін қолданыңыз:

Амалдағыш Мынаған қолданылады Сипаттама
ThisItem Галерея басқару элементі
Форманы өңдеу басқару элементі
Пішінді көрсету басқару элементі
Галерея немесе пішінді басқару элементінде ағымдағыжазбаға арналған әдепкі атау.
ThisRecord ForAll, Filter, With, Sum және басқа жазба аумағы функциялары ForAll және басқа жазба аумағының функцияларында ағымдағы жазбаға арналған әдепкі атау.
Атауретінде Галерея басқару элементі
ForAll, Filter, With, Sum және басқа жазба аумағы функциялары
Әдепкі ThisItem немесе ThisRecord орнын алмастыратын ағымдағы жазба үшін атауды анықтайды. Формулаларды түсінуді жеңілдету және құру кезінде түсініксіздікті шешу үшін As пайдаланыңыз.

ThisItem операторы

Мысалы, келесі Галерея басқару элементінде Элементтер сипаты Қызметкерлер деректер көзіне орнатылған (Northwind саудагерлерінің үлгісінде қамтылған Қызметкерлер кестесі сияқты):

Employees

Галереяда көрсетілген қызметкерлер.

Галереядағы бірінші элемент - бұл әр қызметкер үшін қайталанатын үлгі. Үлгіде суреттің формуласы ағымдағы элементке сілтеме жасау үшін ThisItem пайдаланады:

ThisItem.Picture

Қызметкер суретінің формуласы.

Сол сияқты атаудың формуласы үшін де ThisItem пайдаланады:

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

Қызметкердің бірінші және Тегі формуласы.

ThisRecord операторы

ThisRecord жазба ауқымы бар функцияларда пайдаланылады. Мысалы, біз Сүзгі функциясын галереядағы Элементтер сипаты көмегімен M бар атауларды ғана көрсету үшін қолдана аламыз:

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

ThisRecord арқылы қызметкерлерді атына қарай сүзу.

ThisRecord қосымша және өрістерді тікелей қолдану арқылы қарастырылады, мысалы, бұл жағдайда біз мынаны жаза аламыз:

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

Қосымша болса да, ThisRecord формулаларды түсінуді жеңілдетеді және өріс атауы, сондай-ақ қарым-қатынас атауы болуы мүмкін көпмағыналы жағдайда қажет болуы мүмкін. ThisRecord - қосымша, ThisItem - әрдайым қажет.

Patch, Collect және басқа жазба ауқымының функциялары көмегімен бүкіл жазбаға сілтеме жасау үшін ThisRecord пайдаланыңыз. Мысалы, келесі формула барлық белсенді емес қызметкерлерді белсенді күйге орнатады:

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

As операторы

Галереядағы жазбаны немесе жазба аумағының функциясына атау беру үшін әдепкі ThisItem немесе ThisRecord операторларын алдын ала анықтайтын As операторын пайдаланыңыз. Жазбаға атау беру формуланы түсінуді жеңілдетеді және кірістірілген жағдайларда басқа аумақтардағы жазбаларға қатынасты талап етеді.

Мысалы, Қызметкермен жұмыс жасайтынымызды анықтау мақсатында As операторын пайдалану үшін галереядағы Элементтер сипатын өзгертуге болады.

Employees As Employee

As операторы арқылы қызметкерлер галереясы.

Сурет пен атау формулалары осы атауды ағымдағы жазба үшін пайдалану мақсатында реттелген:

Employee.Picture

As операторымен орнатылған Қызметкер атын пайдаланатын қызметкердің суреті.

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

As операторымен орнатылған Қызметкер атын пайдаланатын қызметкердің бірінші және Тегі.

As операторын сондай-ақ, ThisRecord әдепкі атауын алмастыру үшін жазба ауқымының функцияларымен бірге пайдалануға болады. Мұны біз алдыңғы мысалда қолдана отырып, жұмыс жасайтын жазбаны нақтылауға болады:

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

Галереялар мен жазба ауқымының функцияларын құрған кезде, ThisItem және ThisRecord сыртқы ауқымдағы жазбаларды қолжетімсіз ете отырып, әрдайым ішкі ауқымға сілтеме жасайды. Бірегей атау беру арқылы барлық жазба ауқымдарын қолжетімді ету үшінAs операторын пайдаланыңыз.

Мысалы, бұл формула екі 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
)

Осы формулаға Label басқару элементінің Text сипатын орнату мыналарды көрсетеді:

Белгі басқару элементінде көрсетілген шахмат тақтасының мәтіні.

Мұнда не болып жатқанын анықтайық:

  • Біз Sequence функциясынан 8 нөмірленген жазбалардың атаусыз кестесін қайталаудан бастаймыз. Бұл цикл әдетте Дәреже деп аталатын тақтаның әр жолына арналған, сондықтан оған осы атауды береміз.
  • Әр жол үшін біз 8 бағаннан тұратын тағы бір атаусыз кестені қайталаймыз және Файл жалпы атауын береміз.
  • Егер Rank.Value + File.Value тақ сан болса, шаршы Х, болмаса нүкте алады. Формуланың бұл бөлігі As операторының көмегімен мүмкін болған ForAll циклдерінің екеуіне де сілтеме жасайды.
  • Concat екі рет қолданылады, алдымен бағандарды, содан кейін жолдарды жаңа сызық жасау үшін орнатылған Char(10) көмегімен құрастыру үшін.

Ұқсас мысал ForAll функцияларының орнына құрылған Галерея басқару элементтерімен мүмкін. Дәреже арналған тік галереямен бастайық. Бұл галереяны басқару элементінде Элементтер формуласы болады:

Sequence(8) as Rank

Rank итерациясын қамтамасыз ететін сыртқы галереяның суреті.

Осы галереяның ішінде біз көлденең галереяны Элементтер сипаты бар әр Дәреже функциясы үшін алмастырылатын Файл үшін орналастырамыз.

Sequence(8) as File

Файл итерациясын қамтамасыз ететін ішкі галереяның суреті.

Ақырында, осы галерея ішінде Файл және әр Дәреже үшін алмастырылатын Белгі басқару элементін қосамыз. Біз оны бүкіл кеңістікті толтыру үшін өлшейміз және осы формула көмегімен түс беру үшін Толтыру сипатын пайдаланамыз:

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

Шахмат тақтасы үшін ауыспалы түстерді қамтамасыз ететін екі галереядағы жапсырманы басқару.

Жеке және басты оператор

Басқару элементіне және формуладағы оның сипаттарына сілтеме жасаудың үш жолы бар:

Әдіс Сипаттама
Басқару элементінің атауы арқылы Кез келген басқару элементіне бағдарламаның кез келген жерінен атау арқылы сілтеме жасауға болады.

Мысалы, Label1.Fill синтаксисі атауы Label1 болып табылатын басқару элементінің толтыру сипатына сілтеме жасайды.
Жеке оператор Формуланы жазу кезінде сол басқару элементінің басқа сипатына жиі сілтеме жасалады. Абсолюттік анықтаманы атау арқылы пайдаланудың орнына, тиісті анықтаманы біржеке операторға пайдалану оңай әрі қолайлы болып келеді. Жеке оператор ағымдағы басқару элементіне оңай қатынасуды қамтамасыз етеді.

Мысалы, Self.Fill синтаксисі ағымдағы басқару элементінің толтыру түсіне сілтеме жасайды.
Басты оператор Кейбір басқару элементі Screen және Gallery басқару элементтері сияқты басқа басқару элементтерін орналастырады. Басқару элементтерінің басқару элементін оның ішіне орналастыру басты оператор деп аталады. Жекеоператор сияқты, Басты оператор да контейнер басқару элементіне оңай тиісті анықтаманы қамтамасыз етеді.

Мысалы, Parent.Fill синтаксисі ағымдағы басқару элементіне арналған контейнер болып табылатын басқару элементінің толтыру сипатына сілтеме жасайды.

Жеке және Басты – бұл басқару элементтеріндегі сипаттар емес, операторлар. Parent.Parent, Self.Parent немесе Parent.Self деп сілтеме жасауға қолдау көрсетілмейді.

Идентификатор аттары

Айнымалылардың, деректер көздерінің, бағандардың және басқа нысандардың атауларында кез келген Юникод болуы мүмкін.

Атауында бос орын немесе басқа арнайы таңба бар жалғыз тырнақшаларды қолданыңыз.
Атында бір жалғыз тырнақшаны көрсету үшін жалғыз тырнақшаны бірге пайдаланыңыз. Ерекше белгілері жоқ атауларға жалғыз тырнақша қажет емес.

Кестеде кездесуге болатын бірнеше мысал баған атаулары және олардың формулада қалай көрсетілгені төменде берілген:

Дерекқордағы баған атауы Формуладағы бағанға сілтемесі
SimpleName SimpleName
NameWith123Numbers NameWith123Numbers
Бос орындары бар атау 'Name with spaces'
"Қосарланған" тырнақшалары бар атау 'Name with "double" quotes'
"Жалғыз" тырнақшалары бар атау 'Name with ''single'' quotes'
@ таңбасы бар атау 'Name with an @ at sign'

Қос тырнақша мәтін жолдарын белгілеу үшін пайдаланылады.

Көрсетілетін атаулар және логикалық атаулар

Кейбір деректер көздері, мысалы SharePoint және Microsoft Dataverse бір кестеге немесе деректер бағанына сілтеме жасау үшін екі түрлі атауды пайдаланады:

  • Логикалық атау - бірегей болуға кепілдік берілген, жасалғаннан кейін өзгермейді, әдетте бос орындарға немесе басқа арнайы таңбаларға жол бермейді және әртүрлі тілдерге аударылмаған. Нәтижесінде атау құпия болуы мүмкін. Бұл атауларды кәсіби әзірлеушілер қолданады. Мысалы, cra3a_customfield. Бұл атау сонымен қатар схема атауы немесе жай ғана аты болуы мүмкін.

  • Көрсетілетін атау - пайдаланушыға ыңғайлы және түпкі пайдаланушылар көре алатын атау. Бұл атау бірегей болмауы, уақыт өте келе өзгеруі мүмкін, бос орындар мен кез келген Юникод таңбасын қамтуы және әртүрлі тілдерге аударылуы мүмкін. Жоғарыдағы мысалға сәйкес көрсетілетін атау сөздер арасында бос орын бар Реттелетін өріс болуы мүмкін.

Көрсетілетін атауларды түсіну оңай болғандықтан, кенеп қолданбалары таңдау ретінде логикалық атауларды емес, соларды ұсынады. Логикалық атаулар ұсынылмағанымен, оларды жанама түрде терілген болса да пайдалануға болады.

Мысалы, сіз Реттелетін өріс параметрін Dataverse жүйесіндегі кестеге қостыңыз делік. Логикалық атау өріс жасау кезінде ғана өзгертуге болатын жүйе тарапынан тағайындалады. Нәтиже келесідей болады:

Тіркелгілер өрісіне сілтеме жасаған кезде, көрсетілетін атау болғандықтан "Теңшелмелі өріс" пайдалану ұсынылады. Жалғыз дәйексөзді пайдалану керек, себебі бұл атта бос орын бар:

«Теңшелетін өріс» көрсетілетін атауы бөлектелген тіркелгілердің өріс атауларына арналған ұсыныстарды көрсететін Studio формула жолағы.

Ұсынысты таңдағаннан кейін формула жолағында "Теңшелмелі өріс" көрсетіледі және деректер шығарылады:

Өріс үшін

Бұл ұсынылмағанмен, біз осы өрістің логикалық атауын да пайдалана аламыз. Нәтижесінде дәл сол деректерді шығарылады. Бұл атауда бос орындар немесе арнайы таңбалар болмағандықтан, жалғыз тырнақша қажет емес:

Өріс үшін cr5e3_customfield логикалық атауын пайдалануды көрсететін Studio формула жолағы.

Сахнаның артында формулаларда шығарылған көрсетілетін атаулар мен негізгі логикалық атаулар арасында салыстыру жүргізіледі. Логикалық аттар деректер көзімен өзара әрекеттесу үшін қолданылуы керек болғандықтан, бұл салыстыру ағымдағы көрсетілетін атауынан логикалық атауға автоматты түрде ауыстыру үшін пайдаланылады және бұл желілік трафикте көрінеді. Бұл салыстыру сонымен қатар жаңа көрсетілетін атауларға ауысу мақсатында логикалық атауларға қайта ауыстыру үшін қолданылады, мысалы, егер көрсетілетін атау өзгерсе немесе жасаушы бағдарламаны басқа тілде өңдесе.

Ескертпе

Қолданбаны орталар арасында жылжытқанда логикалық атаулар аударылмайды. Dataverse жүйелік кестесі мен өріс атаулары үшін бұл қиындық тудырмауы керек, өйткені логикалық атаулар ортаға сәйкес келеді. Бірақ жоғарыдағы мысалдағы cra3a_customfield сияқты кез келген теңшелмелі өрістердің басқа орта префиксі болуы мүмкін (бұл жағдайда cra3a). Көрсетілетін атауларға артықшылық беріледі, өйткені оларды жаңа ортадағы көрсетілетін атаулармен сәйкестендіруге болады.

Атау айырмашылығын жою

Көрсетілетін атаулар бірегей болмағандықтан, бір көрсетілетін атау бір кестеде бірнеше рет пайда болуы мүмкін. Бұл орын алған кезде логикалық атау қарама-қайшы атаулардың біреуіне жақша ішінде көрсетілетін атаудың соңына қосылады. Жоғарыда келтірілген мысалға сәйкес, логикалық атауы cra3a_customfieldalt болып табылатын Теңшелмелі өріс көрсетілетін атауы бірдей екінші өріс бар болса, онда ұсыныстар мыналарды көрсетеді:

Атауды айыру жолдары кесте атаулары, таңдаулар және басқа Dataverse элементтері сияқты атау қайшылықтар туындаған басқа жағдайларда қосылады.

Айырмашылықты жою операторы

Кейбір функциялар әр жазбаны өңдеу кезінде кесте өрістерін алу үшін Filter, AddColumns және Sum сияқты жазба ауқымдарын жасайды. Жазба ауқымымен қосылған өріс атаулары қолданбаның басқа жерлеріндегі дәл сондай атауларды ауыстырады. Бұл жағдайда мәндерге @ айырмашылықтарды жою операторымен жазба аумағынан тыс қол жеткізуге болады:

  • Кірістірілген жазбалар ауқымындағы мәндерге қол жеткізу үшін @ операторын осы үлгіні пайдалану кезінде жұмыс істейтін кестенің атымен бірге пайдаланыңыз:
    Кесте[@FieldName]
  • Деректер көздері, жинақтар және мәтінмәндік айнымалылар сияқты ғаламдық мәндерге қол жеткізу үшін [@ObjectName] үлгісін пайдаланыңыз (кесте тағайындаусыз).

Қосымша ақпарат пен мысалдарды жазба ауқымдары бөлімінен қараңыз.