Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Келесілерге қолданылады: Кенеп бағдарламалары
Copilot Studio
Жұмыс үстелі ағындары
Модельге негізделген бағдарламалар
Power Platform CLI
Dataverse функциялары
Power Pages
Бір жазба, соның ішінде аталған мәндердің кірістірілген мәндері үшін мәндерді есептейді және әрекеттерді орындайды.
Сипаттама
With функциясы бір жазба үшін формуланы бағалайды. Формула мәнді есептей алады және/немесе деректерді өзгерту немесе байланыспен жұмыс істеу сияқты әрекеттерді орындай алады. ForAll функциясын жазбалар кестесіндегі барлық жазбалар үшін формуланы есептеу үшін пайдаланыңыз.
Қазіргі уақытта өңделетін жазбаның өрістері формула бойынша қолжетімді. ThisRecord операторын пайдаланыңыз немесе жай ғана өрістерді аты әрі басқа кез келген мәні бойынша көрсетіңіз. Сонымен қатар формуланы оңайырақ түсінуге және кірістірілген жазбаларды қолжетімді етуге көмектесу үшін өңделетін жазбаға ат беру үшін As операторын пайдалануға болады. Қосымша ақпарат алу үшін төмендегі мысалдарды қараңыз және жазба ауқымымен жұмыс істеңіз.
Күрделі формулаларды кішігірім аталған ішкі формулаларға бөлу арқылы оқылуын жақсарту үшін пайдаланыңыз With . Бұл аталған мәндер қарапайым жергілікті айнымалылар Withсияқты әрекет етеді. UpdateContext функциясыменWithпайдаланылатын дәл сол кірістірілген жазба синтаксисін . Пайдалану With контекстке немесе жаһандық айнымалыларға қарағанда артықшылыққа ие, өйткені ол өзін-өзі қамтиды, түсінуге оңай және кез-келген декларативті формула контекстінде қолданылуы мүмкін.
Патч немесе Сәйкестік сияқты функциялар қайтаратын жазба өрістеріне қатынасу үшін пайдаланыңызWith. With Осы функциялардың мәнін одан әрі есептеулерде немесе әрекеттерде пайдалану үшін жеткілікті ұзақ уақыт сақтайды.
Егер ЖазбаWith аргументі қате болса, функция бұл қатені қайтарады және формула есептелмейді.
Синтаксис
With( Жазба, формула )
-
Жазба – Міндетті. Әрекет орындайтын жазба. Атаулардың мәндері үшін кірістірілген синтаксисті пайдаланыңыз:
{ name1: value1, name2: value2, ... } - Формула – Міндетті. Жазба үшін есептейтін формула. Формула Жазбаның кез келген өрісіне жазба ауқымы ретінде тікелей сілтеме жасай алады.
Мысалдар
Қарапайым аталған мәндер
With( { radius: 10,
height: 15 },
Pi() * (radius*radius) * height
)
// Result: 4712.38898038 (as shown in a label control)
Бұл мысалда цилиндр көлемін есептеу үшін аталған мәндердің жазбасы пайдаланылады. With Ол барлық кіріс мәндерін біріктіру үшін қолданылады, оларды есептеуден бөлуді жеңілдетеді.
Кірістірілген With
With( { AnnualRate: RateSlider/8/100, // slider moves in 1/8th increments and convert to decimal
Amount: AmountSlider*10000, // slider moves by 10,000 increment
Years: YearsSlider, // slider moves in single year increments, no adjustment required
AnnualPayments: 12 }, // number of payments per year
With( { r: AnnualRate/AnnualPayments, // interest rate
P: Amount, // loan amount
n: Years*AnnualPayments }, // number of payments
r*P / (1 - (1+r)^-n) // standard interest calculation
)
)
Бұл мысал ай сайынғы ипотекалық төлемдер үшін екі деңгейлі есептеу үшін функцияларды жасайдыWith. Егер ол болмаса, онда барлық сыртқы With құндылықтар ішкі Withнарықта қол жетімді.
Жүгірткі басқару элементтері тек 1 қадамымен қозғалуы мүмкін болғандықтан, теңшелтін қадамды тиімді жасау үшін жүгірткілер бөлінеді немесе көбейтіледі. Пайыздық мөлшерлеме жағдайында RateSlider жүгірткісінің Max сипаты 48 мәніне орнатылған, 1/8 пайыздық пункт артуы үшін 8-ге бөлінеді және пайыздан 0,125% - 6% ауқымын қамтитын ондық бөлшекке түрлендіру үшін 100-ге бөлінеді. Несие сомасы жағдайда AmountSlider жүгірткісінің Max сипаты 60 мәніне орнатылады және 10 000-ға көбейтіліп, 10 000-600 000 ауқымын қамтиды.
With Жүгірткіштер қозғалған кезде және жаңа несие төлемі көрсетілген кезде автоматты түрде қайта есептеледі. Ешқандай айнымалылар пайдаланылмайды және жүгірткі басқару элементтерінің OnChange сипатын пайдаланудың қажеті жоқ.
Мұнда осы бағдарламаны жасау туралы егжей-тегжейлі нұсқаулар берілген:
- Жаңа бағдарлама жасаңыз.
- Жүгірткі басқару элементін қосыңыз және RateSlider деп атаңыз. Оның Max сипатын 48-ге орнатыңыз.
- Белгі басқару элементін жүгірткі басқару элементінің сол жағына қосыңыз. Оның Text сипатын "Пайыздық мөлшерлеме:" деп орнатыңыз.
- Белгі басқару элементін жүгірткі басқару элементінің оң жағына қосыңыз. Оның Мәтін қасиетін RateSlider/8 & " %".
- Тағы бір Жүгірткі басқару элементін қосыңыз және AmountSlider деп атаңыз. Оның Max сипатын 60-ге орнатыңыз.
- Белгі басқару элементін осы жүгірткі басқару элементінің сол жағына қосыңыз. Оның Мәтін сипатын "Несие сомасы:" деп орнатыңыз.
- Белгі басқару элементін осы жүгірткі басқару элементінің оң жағына қосыңыз. Оның Мәтін сипатын AmountSlider/8 * 10000 формуласына орнатыңыз.
- Тағы бір Жүгірткі басқару элементін қосыңыз және YearsSlider деп атаңыз. Оның Max сипатын 40-қа орнатыңыз.
- Белгі басқару элементін осы жүгірткі басқару элементінің сол жағына қосыңыз. Оның Мәтін сипатын "Жылдар саны:" деп орнатыңыз.
- Белгі басқару элементін осы жүгірткі басқару элементінің оң жағына қосыңыз. Оның Мәтін сипатын YearsSlider формуласына орнатыңыз.
- Белгі басқару элементін қосыңыз және оның Мәтін сипатын жоғарыда көрсетілген формулаға орнатыңыз.
- Белгі басқару элементін соңғы белгі басқару элементінің сол жағына қосыңыз. Оның Мәтін сипатын "Қайталанатын ай сайынғы төлем:" деп орнатыңыз.
Patch функциясынан қайтарылатын негізгі кілт
With( Patch( Orders, Defaults( Orders ), { OrderStatus: "New" } ),
ForAll( NewOrderDetails,
Patch( OrderDetails, Defaults( OrderDetails ),
{ Order: OrderID, // from With's first argument, primary key of Patch result
Quantity: Quantity, // from ForAll's NewOrderDetails table
ProductID: ProductID } // from ForAll's NewOrderDetails table
)
)
)
Бұл мысал SQL серверіндегі Тапсырыс кестесіне жазба қосады. Содан кейін ол OrderID өрісіндегі Patch функциясы қайтарған, тапсырысның қайтарылған негізгі кілтін OrderDetails кестесіндегі қатысты жазбаларды жасау үшін пайдаланады.
Жүйелі өрнек бар шығарып алынған мәндер
With(
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
Time( Value( hours ), Value( minutes ), Value( seconds ) )
)
// Result: 2:01 AM (as shown in a label control, use the Text function to see the seconds)
Бұл мысал ISO 8601 ұзақтық мәнінен сағаттарды, минуттарды және секундтарды шығарып алады, содан кейін күн/уақыт мәнін жасау үшін осы ішкі сәйкестіктерді пайдаланады.
Ішкі сәйкестіктер сандарды қамтығанымен, әлі де мәтіндік жол түрінде екенін ескеріңіз. Value функциясын математикалық амалдарды орындау алдында санға түрлендіру үшін пайдаланыңыз.
Құрамдастағы жазбаны салыстыру
Жазбаны салыстыру бөлімін қараңыз.