Дефиниране на изчисляеми колони за автоматизиране на изчисления
Използвайте изчисляеми колони, за да автоматизирате ръчните изчисления, използвани във вашите бизнес процеси.
Например продавачът може да иска да знае претеглените приходи за възможност, които се основават на прогнозните приходи от възможност, умножени по вероятността. Или искат автоматично да приложат отстъпка, ако поръчката е по-голяма от 500 щ.д. Изчисляемите колони могат да съдържат стойностите, получени от прости математически оператори, както и условни операции, като например „по-голям-от“ или „ако-то“, както и много други. Можете да постигнете всичко това чрез Power Apps и няма нужда да пишете код.
Възможности
- Изчисляемите колони използват колоните от текущата таблица или свързани родителски таблици.
- Поддръжката за израза е налична в текущата таблица и колоните на свързаната родителска таблица в секциите Състояние и Действие. Вградените функции включват:
ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT и TRIMRIGHT. Повече информация: Синтаксис на функциите - Богатата условна поддръжка осигурява разклоняване и множество условия. Логическите операции включват И и ИЛИ оператори.
- Възможностите за визуално редактиране включват модерен потребителски интерфейс и IntelliSense в секцията ДЕЙСТВИЕ.
- Можете да ползвате безпроблемно интегриране на изчисляемите колони с формуляри, изгледи, диаграми и отчети, налични в реално време.
- Можете да конфигурирате изчисляеми колони да използват персонализирани контроли.
Сценарии
- Претеглен приход: Изчислен приход, умножен по вероятността
- Нетната стойност: Активи, извадени от задълженията за даден клиент
- Разходи за труд: Базова ставка до 40 часа плюс допълнителни за извънреден труд
- Номер за контакт: Телефонен номер за възможност на базата на клиент или контакт
- Оценка на потенциален клиент: Единична колона, която предоставя аналитични данни за качеството на даден потенциален клиент
- Последващо действие след: Последващо действие след определен брой дни въз основа на приоритета
Важно
За да създадете изчисляема колона трябва да имате привилегия за писане в таблицата „Профил за защита на полета“. Ако изчисляемата колона използва защитените колони в изчисление, трябва да помислите за защита и на изчисляемата колона, за да предотвратите достъпа на потребителите до данни, за които нямат достатъчно разрешения. Редакторът на изчисляеми колони ви изпраща предупреждение, ако създавате изчисляема колона, която използва защитени колони в дадено изчисление, и ви предлага да защитите изчисляемата колона. Повече информация: Защита на ниво колона за контрол на достъпа.
Типове колони, които поддържат изчисления
- Текст
- Възможност за избор
- Да/не
- Цяло число
- Десетично число
- Валута
- Дата и час
Създаване на изчисляема колона
Вход в Power Apps
Изберете Решения от левия екран за навигация. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
Отворете незавършеното решение, което съдържа желаната таблица.
Изберете областта Колони и след това изберете Нова колона в командната лента.
Предоставете информацията за колоната, включително показвано име, име и тип данни.
Ако типът данни е един от типовете колони, които поддържат изчисления, можете да направите колоната изчисляема колона, като изберете Изчисляемо от падащия списък Поведение .
Връзката Запазване и редактиране се появява под падащия списък. Изберете го.
Новата колона се запазва. В списъка Колони отворете колоната, която сте записали в предишната стъпка.
В екрана на колоната Редактиране, под падащия списък Поведение изберете Редактиране.
В редактора на дефиниции на изчисляемата колона обърнете внимание, че новата изчисляема колона е създадена, но не е зададена формула. Дефиницията на изчисляемата колона се състои от две части: УСЛОВИЕ и ДЕЙСТВИЕ.
- В раздела Състояние изберете Добавяне на условие, за да посочите таблица, колона, оператор, тип и стойност. В падащото поле за Таблица можете да изберете текуща таблица или свързана таблица. В падащото поле Колона имате избор от всички налични колони за таблицата. В зависимост от оператора, който изберете, може да се наложи да предоставите тип и стойност. Можете да укажете няколко условия, използвайки операторите
AND
илиOR
. Когато приключите с посочването на условието, поставете отметка . - След като сте посочили условието, в секцията Действие изберете Добавяне на действие, за да предоставите формулата за изчисляемата колона. Когато приключите с посочването на действието, поставете отметка .
Бележка
Можете да използвате данни от редовете за справка в рамките на вашето „Действие“. Първо трябва да изберете колоната за справка и след това да въведете период. След това можете да изберете една от наличните колони в свързаната таблица. В случай на
<LookupFieldName>.<RelatedFieldName>
например можете да изберете:ParentAccountId.AccountNumber
.Имайте предвид, че нивото на защитата на колона ще бъде игнорирано в свързаната таблица, така че ако колоната има поверителни данни, предлагаме също да защитите изчисляемата колона.
- В раздела Състояние изберете Добавяне на условие, за да посочите таблица, колона, оператор, тип и стойност. В падащото поле за Таблица можете да изберете текуща таблица или свързана таблица. В падащото поле Колона имате избор от всички налични колони за таблицата. В зависимост от оператора, който изберете, може да се наложи да предоставите тип и стойност. Можете да укажете няколко условия, използвайки операторите
В редактора на дефиницията на изчисляемата колона изберете Записване и затваряне.
Примери
Нека разгледаме по-подробно примерите за изчисляеми колони.
Претеглен приход от възможност
В този пример използваме колоните на таблицата с възможности, за да изчислим претеглените приходи въз основа на вероятността на възможността. В редактора на колони за таблица на възможност създаваме колона, наречена Претеглен приход, и задаваме типа на колоната като Изчисляема, а типът на данните е Валута.
В редактора за дефиниране на изчисляеми колони в секцията Условие зададохме възможността със състояние „Отворено“. В ДЕЙСТВИЕ формулата изчислява претеглените приходи, въз основа на изчисления приход от възможност, умножен по вероятността на възможността. Следните екранни снимки показват стъпка по стъпка как да дефинирате изчисляемата колона Претеглен приход.
Задайте условието на възможностите:
Предоставете формулата за претеглен приход:
Общо:
Дата на последващи действия на възможността
В този пример използваме графите на възникналия потенциален клиент на възможност, за да изчислим подходящата дата, когато да се последващо действие по възможността.
В редактора на колони за таблицата на възможност създаваме колона, наречена Дата на последващи действия, и задаваме типа като Изчисляемо, а типът на данните е Дата и час.
В редактора за дефиниции на изчисляеми колони в секцията Състояние задаваме две условия: продължителност на покупка и очаквана стойност на потенциален клиент.
В ДЕЙСТВИЕ, ние предлагаме две формули:
- За последващо действие след една седмица след непосредствена възможност
- За последващо действие в рамките на един месец, ако е малко вероятно възможността да се случи веднага.
Следните екранни снимки показват стъпка по стъпка как да дефинирате изчисляемата колона Дата на последващо действие.
Задаване на двете условия на първоначалния потенциален клиент:
Предоставяне на формулата за последващо действие след една седмица:
Предоставяне на формулата за последващо действие след един месец:
Общо:
Дни от създаване на ред
В този пример използваме функцията DIFFINDAYS, за да изчислим разликата в дните от момента на създаване на ред до текущата дата.
Създайте нова колона за цяло число, наречена Изчислена разлика в дни.
Предоставяне на формулата за изчисляване на разликата в дни
Общо:
Синтаксис на функциите
Следната таблица съдържа информация за синтаксиса за функциите, предоставени в секцията ДЕЙСТВИЕ на изчисляемата колона.
Съвет
Имената на функциите са посочени с главни букви.
Синтаксис на функциите | Описание | Вид връщане |
---|---|---|
ADDDAYS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, плюс определен брой дни. | Дата и час |
ADDHOURS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, плюс определен брой часове. | Дата и час |
ADDMONTHS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, плюс определен брой месеци. | Дата и час |
ADDWEEKS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, плюс определен брой седмици. | Дата и час |
ADDYEARS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, плюс определен брой години. | Дата и час |
SUBTRACTDAYS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, минус определен брой дни. | Дата и час |
SUBTRACTHOURS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, минус определен брой часове. | Дата и час |
SUBTRACTMONTHS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, минус определен брой месеци. | Дата и час |
SUBTRACTWEEKS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, минус определен брой седмици. | Дата и час |
SUBTRACTYEARS (цяло число, дата и час) | Връща нова дата и час, който е равен на определена дата и време, минус определен брой години. | Дата и час |
DIFFINDAYS (дата и час, дата и час) | Връща разликата в дни между две колони Дата и час. Ако и двете полета с дата и час се падат на същия ден, разликата е нула. | Цяло число |
DIFFINHOURS (дата и час, дата и час) | Връща разликата в часове между две колони Дата и час. | Цяло число |
DIFFINMINUTES (дата и час, дата и час) | Връща разликата в минути между две колони Дата и час. | Цяло число |
DIFFINMONTHS (дата и час, дата и час) | Връща разликата в месеци между две колони Дата и час. Ако и двете полета с дата и час се падат в същия месец, разликата е нула. | Цяло число |
DIFFINWEEKS (дата и час, дата и час) | Връща разликата в седмици между две колони Дата и час. Ако и двете полета с дата и час се падат в същата седмица, разликата е нула. | Цяло число |
DIFFINYEARS (дата и час, дата и час) | Връща разликата в години между две колони Дата и час. Ако и двете полета с дата и час се падат в същата година, разликата е нула. | Цяло число |
CONCAT (един ред текст, един ред текст, ... един ред текст) | Връща низ, който е резултат от съединяването на два или повече низа. | Низ |
TRIMLEFT (един ред текст, цяло число) | Връща низ, съдържащ копие на указан низ, без първите N знаци. | Низ |
TRIMRIGHT (един ред текст, цяло число) | Връща низ, съдържащ копие на указан низ, без последните N знаци. | String |
Бележка
Всички функции DIFF изискват първата колона Дата и час и втората колона Дата и час да имат едно и също поведение: Местно време на потребителя, Само дата или Без зависимост от часова зона. Ако поведението на втората колона не съвпада с поведението на първата, се показва съобщението за грешка, което показва, че втората колона не може да се използва в текущата функция. Повече информация: Поведение и формат на колоната за дата и час.
Бележка
Не можете да въведете дата, като например 01.01.2015, като стойност на дата в изчисляема колона. Стойностите на дата и DateTime могат да бъдат задавани или сравнявани само с помощта на други колони DateTime.
Във функцията CONCAT можете да използвате низове на литерал като единични редове текст, колони на таблица, които съдържат един ред от текст или комбинация от двете. Например: CONCAT (FirstName, LastName, „е мениджър.“). Ако литерален низ съдържа кавички, предшествайте всяка маркировка с обратната наклонена черта (\), като следния: This string contains the \"quotation marks.\"
Това гарантира, че кавичките вътре в низа не се третират като специални знаци, които разделят низовете.
Следните примери показват как се използват TRIMLEFT и TRIMRIGHT функциите. Те съдържат първоначалните низове и получените низове, върнати от TRIMLEFT и TRIMRIGHT функциите:
TRIMLEFT ("RXX10-3456789", 3), връща низа 10-3456789
TRIMRIGHT ("20-3456789RXX", 3), връща низа 20-3456789
Съображения
Трябва да сте наясно за определени условия и ограничения при работа с изчисляеми колони:
Записаните заявки, диаграми и визуализации може да имат максимум 50 уникални изчисляеми колони.
Изчисляемите стойности на колоните не се показват в режим Outlook Client Offline в изгледите на плочки или в основните формуляри на таблицата.
Максималният брой изчисляеми колони във верига е 5.
Изчисляемата колона не може да се отнася до себе си или да има циклични вериги.
Ако промените един от операторите на условие в клауза с множество условия, всички оператори на условието ще се актуализират до това условие. Например в клаузата
IF (x > 50) OR (y ==10) OR (z < 5)
, ако променитеOR
оператора наAND
оператор, всичкиOR
оператори в клаузата ще станатAND
оператори.Можете да получите достъп до родителски колони чрез колоната за справка към родителската таблица, като например
<LookupFieldName>.<FieldName>
. Това не е възможно с графи за справка в няколко таблици, като например Клиент, които могат да бъдат Клиент или Контакт. Някои таблици обаче имат индивидуални колони за справка за определена таблица, като напримерParentAccountid.
<FieldName>
илиParentContactid.
<FieldName>
.Сортирането е забранено за:
- Изчисляема колона, която съдържа колона на родителски ред.
- Изчисляема колона, която съдържа логическа колона (например адресна колона)
- Изчисляема колона, която съдържа друга изчисляема колона.
- Изчисляема колона, която съдържа
Now()
функция.
Изчисляемите колони могат да обхващат само две таблици.
- Изчисляемата колона може да съдържа колона от друга таблица (обхващаща две таблици – текуща таблица и родителски ред).
- Изчисляема колона не може да съдържа изчисляема колона от друга таблица, която съдържа и друга колона от друга таблица (обхващаща три таблици):
(Текуща таблица) Изчисляема колона ← (Родителски ред) Изчисляема колона 1 ← (Родителски ред) Изчисляема колона 2.
Не можете да задействате работни потоци или добавки за изчисляеми колони.
Не можете да промените съществуваща проста колона в изчисляема. Ако текущото ви приложение използва JavaScript или добавки за изчисляване на колона, няма да можете да използвате функцията за изчисляеми колони, без да създадете нова графа.
Откриване на дублиращ се запис не се задейства за изчисляеми графи.
Усредненият сбор не може да се отнася до изчисляема колона, която използва друга изчисляема колона, дори ако всички колони на другата изчисляема колона са в текущата таблица.
Когато колона за изчисляване на валута зависи от колоната за валута на свързана таблица, системата извършва изчисления, като използва съответните стойности на колоните за базова валута. Това е така, защото стойностите на обменните курсове и валутните стойности могат да варират в различните записи на таблицата. Например, помислете за изчисляема колона -
Account Revenue
в таблицатаOpportunity
и считайтеAccount Revenue
, че има зависимост от колоната заAnnual Revenue
валута в таблицатаAccount
, след коетоAccount Revenue
се изчислява, както е описано тук:'Account Revenue' = ['Annual Revenue (Base)' * 'Exchange Rate on Opportunity table record']
или'Account Revenue' = [('Annual Revenue' / 'Exchange Rate on Account table record') * 'Exchange Rate on Opportunity table record']
Вижте също
Създаване и редактиране на колони
Дефиниране на сборни колони, които агрегират стойности
Видео: Сборни и изчисляеми колони
Формули, изчислени и сборни колони с помощта на код
Бележка
Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)
Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).