Автоматизирайте изчисленията чрез дефиниране на изчисляеми колони

Използвайте изчисляеми колони, за да автоматизирате ръчните изчисления, използвани във вашите бизнес процеси.

Например продавачът може да иска да знае претеглените приходи за възможност, които се основават на прогнозните приходи от възможност, умножени по вероятността. Или искат автоматично да приложат отстъпка, ако поръчката е по-голяма от 500 щ.д. Изчисляемите колони могат да съдържат стойностите, получени от прости математически оператори, както и условни операции, като например „по-голям-от“ или „ако-то“, както и много други.

Възможности

  • Изчисляемите колони използват колоните от текущата таблица или свързани родителски таблици.
  • Поддръжката на израза е налична в текущата таблица и свързаните колони на родителската таблица в секциите Условие и Действие . Вградените функции включват:
    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBWEIGHTHOURS , SUBWEIGHTDAYS, SUBWEIGHTWEEKS, SUBWEIGHTMONTHS , SUBWEIGHTYEARS, DIFFINHOURS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT , TRIMLEFT и TRIMRIGHT. Научете повече в Синтаксис на функциите.
  • Богатата условна поддръжка осигурява разклоняване и множество условия. Логическите операции включват оператори И и ИЛИ .
  • Възможностите за визуално редактиране включват модерен потребителски интерфейс и intellisense в секцията ДЕЙСТВИЕ .
  • Можете да ползвате безпроблемно интегриране на изчисляемите колони с формуляри, изгледи, диаграми и отчети, налични в реално време.
  • Можете да конфигурирате изчисляеми колони да използват персонализирани контроли.

Сценарии

  • Претеглени приходи: Прогнозни приходи, умножени по вероятността
  • Нетна стойност: Активи, извадени от пасивите за дадена сметка
  • Разходи за труд: Базова ставка до 40 часа, плюс повече извънреден труд
  • Номер за контакт: Телефонен номер за възможност въз основа на акаунт или контакт
  • Оценка на потенциален клиент: Единична колона, която предоставя информация за качеството на даден потенциален клиент
  • Проследяване до: Проследяване на дейност с определен брой дни въз основа на приоритет

Важно

За да създадете изчисляема колона, трябва да имате привилегията за запис в таблицата Профил за защита на поле. Ако изчисляемата колона използва защитените колони в изчисление, трябва да помислите за защита и на изчисляемата колона, за да предотвратите достъпа на потребителите до данни, за които нямат достатъчно разрешения. Редакторът на изчисляеми колони ви дава предупреждение, ако създавате изчисляема колона, която използва защитени колони в изчисление, което ви предлага да защитите изчисляемата колона. Повече информация: Защита на ниво колона за контрол на достъпа.

Типове колони, които поддържат изчисления

  • Текст
  • Възможност за избор
  • Да/не
  • Цяло число
  • Десетично число
  • Currency
  • Дата и час

Създаване на изчисляема колона

  1. Влезте в Power Apps

  2. Изберете Решения от левия навигационен екран. Ако елементът не е в страничния панел, изберете ... Още и след това изберете желания елемент.

  3. Отворете незавършеното решение, което съдържа желаната таблица.

  4. Изберете областта Колони и след това изберете Нова колона в командната лента.

  5. Предоставете информацията за колоната, включително показвано име, име и тип данни.

  6. Ако типът данни е един от типовете колони, които поддържат изчисления, можете да направите колоната изчисляема колона, като изберете Изчисляемо от падащия списък Поведение .

    Превръщане на колона в изчисляема колона

  7. Връзката Запазване и редактиране се появява под падащия списък. Изберете го.

  8. Новата колона се запазва. В списъка Колони отворете колоната, която сте записали в предишната стъпка.

  9. В екрана на колоната Редактиране, под падащия списък Поведение изберете Редактиране.

    Връзка към отваряне на редактора за дефиниция на изчисляеми колони

  10. В редактора за дефиниция на изчисляема колона забележете, че новата изчисляема колона е създадена, но не е зададена формула. Дефиницията на изчисляемата колона се състои от две секции: УСЛОВИЕ и ДЕЙСТВИЕ.
    Нов формуляр за изчисляване на колона.

    1. В секцията Условие изберете Добавяне на условие , за да зададете таблица, колона, оператор, тип и стойност. В падащото меню за таблицата можете да изберете текуща таблица или свързана таблица. В падащото поле Колона имате избор от всички налични колони за таблицата. В зависимост от избрания от вас оператор може да се наложи да предоставите тип и стойност. Можете да зададете няколко условия с помощта на операторите AND или OR . Когато приключите със задаването на условието, поставете отметка.
    2. След като зададете условието, в секцията Действие изберете Добавяне на действие , за да предоставите формулата за изчисляемата колона. Когато приключите с задаването на действието, поставете отметка.

    Бележка

    Можете да използвате данни от редовете за справка в рамките на вашето „Действие“. Първо трябва да изберете колоната за справка и след това да въведете период. След това можете да изберете една от наличните колони в свързаната таблица. Например с <LookupFieldName>.<RelatedFieldName> можете да изберете: ParentAccountId.AccountNumber.

    Защитата на ниво колона се игнорира в свързаната таблица, така че ако в колоната, до която има достъп, има поверителни данни, защитете и изчисляемата си колона.

  11. В редактора за дефиниция на изчисляеми колони изберете Запиши и затвори.

Примери

Нека разгледаме по-подробно примерите за изчисляеми колони.

Претеглен приход от възможност

В този пример използваме колоните на таблицата с възможности, за да изчислим претеглените приходи въз основа на вероятността на възможността. В редактора на колони за таблица с възможности създаваме колона, наречена Претеглени приходи и посочваме типа на колоната като Изчислена и типът данни е Валута.

В редактора за дефиниция на изчисляеми колони, в секцията Условие посочваме възможността със Състояние = Отворено. В ДЕЙСТВИЕТО формулата изчислява претеглените приходи въз основа на прогнозния приход на възможността, умножен по вероятността за възможността. Следващите екранни снимки показват стъпка по стъпка как да дефинирате изчислената колона "Претеглени приходи ".

Задайте условието на възможностите:

Задаване на претеглен приход в Dynamics 365.

Предоставете формулата за претеглен приход:

Задаване на очаквана стойност на претеглени приходи в Dynamics 365.

Общо:

Претеглени приходи спрямо приходите в Dynamics 365.

Дата на последващи действия на възможността

В този пример използваме графите на възникналия потенциален клиент на възможност, за да изчислим подходящата дата, когато да проследим възможността.

В редактора на колони за таблица с възможности създаваме колона, наречена Дата на проследяване, и посочваме типа като Изчислено , а типът данни е Дата и час.

В редактора за дефиниция на изчисляеми колони, в секцията Условие , посочваме две условия: времевата рамка за покупка и прогнозната стойност на потенциалния клиент.

В ДЕЙСТВИЕТО предоставяме две формули:

  • За последващо действие след една седмица след непосредствена възможност
  • Да проследите след един месец, ако е малко вероятно възможността да се случи веднага.

Следващите екранни снимки показват стъпка по стъпка как да дефинирате изчислената колона Дата на проследяване.

Задаване на двете условия на първоначалния потенциален клиент:

Дата на последващо действие за възможност в Dynamics 365 едно.

Дата на последващо действие за възможност в Dynamics 365 две.

Предоставяне на формулата за последващо действие след една седмица:

Дата на последващо действие за възможност в Dynamics 365 три.

Предоставяне на формулата за последващо действие след един месец:

Задаване на дата за проследяване в Dynamics 365.

Общо:

Задаване на дата за проследяване If-Then и Else в Dynamics 365.

Дни от създаване на ред

В този пример използваме функцията DIFFINDAYS , за да изчислим разликата в дните от момента на създаване на ред до текущата дата.

Създайте нова колона "Цяло число", наречена "Изчислена разлика в дните".

Предоставяне на формулата за изчисляване на разликата в дни

Изчисляема колона, функция DIFFINDAYS.

Общо:

Разлика в дните от създаването на ред.

Синтаксис на функциите

Таблицата по-долу съдържа информация за синтаксиса на функциите, предоставени в секцията ДЕЙСТВИЕ на изчисляемата колона.

Съвет

Имената на функциите са посочени с главни букви.

Синтаксис на функциите Описание Вид връщане
ADDDAYS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, плюс посочения брой дни. Дата и час
ADDHOURS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, плюс посочения брой часове. Дата и час
ADDMONTHS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, плюс посочения брой месеци. Дата и час
ADDWEEKS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, плюс посочения брой седмици. Дата и час
ADDYEARS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, плюс посочения брой години. Дата и час
SUBTRACTDAYS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, минус посочения брой дни. Дата и час
SUBTRACTHOURS (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, минус посочения брой часове. Дата и час
ИЗВАЖДАМЕМЕСЕЦИ( цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, минус посочения брой месеци. Дата и час
ИЗВАЖДАНЕ (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, минус посочения брой седмици. Дата и час
ИЗВАЖДАНЕ години (цяло число, дата и час) Връща нова дата и час, равни на дадената дата и час, минус посочения брой години. Дата и час
DIFFINDAYS (дата и час, дата и час) Връща разликата в дните между две колони "Дата" и "Час". Ако и двете полета с дата и час се падат на същия ден, разликата е нула. Цяло число
DIFFINHOURS (дата и час, дата и час) Връща разликата в часовете между две колони "Дата" и "Час". Цяло число
DIFFINMINUTES (дата и час, дата и час) Връща разликата в минутите между две колони "Дата" и "Час". Цяло число
DIFFINМЕСЕЦИ (дата и час, дата и час) Връща разликата в месеците между две колони "Дата" и "Час". Ако и двете полета с дата и час се падат в същия месец, разликата е нула. Цяло число
DIFFINWEEKS (дата и час, дата и час) Връща разликата в седмиците между две колони "Дата" и "Час". Ако и двете полета с дата и час се падат в същата седмица, разликата е нула. Цяло число
DIFFINYEARS (дата и час, дата и час) Връща разликата в годините между две колони "Дата" и "Час". Ако и двете полета с дата и час се падат в същата година, разликата е нула. Цяло число
CONCAT (един ред текст, един ред текст, ... един ред текст) Връща низ, който е резултат от съединяването на два или повече низа. Низ
TRIMLEFT( един ред текст, цяло число) Връща низ, съдържащ копие на указан низ, без първите N знаци. Низ
TRIMRIGHT( един ред текст, цяло число) Връща низ, съдържащ копие на указан низ, без последните N знаци. Низ

Бележка

Всички DIFF функции изискват първата колона "Дата и час " и втората колона "Дата и час " да имат едно и също поведение: "Местен потребител", "Само дата" или "Независим от часовата зона". Ако поведението на втората колона не съвпада с поведението на първата, се показва съобщението за грешка, което показва, че втората колона не може да се използва в текущата функция. Повече информация: Поведение и формат на колоната Дата и час.

Съвет

Не можете да въведете дата, като например 01.01.2015 г., като стойност на дата в изчисляема колона. Стойностите на дата и DateTime могат да бъдат задавани или сравнявани само с помощта на други колони DateTime.

Във функцията CONCAT можете да използвате литерални низове като единични редове текст, колони на таблица, които съдържат един ред текст, или комбинация от двете. Например: CONCAT( Собствено име, Фамилно име, "е мениджър."). Ако литерален низ съдържа кавички, предшествайте всеки знак с обратна наклонена черта (\), като следния: This string contains the \"quotation marks.\" Това гарантира, че кавичките вътре в низа не се третират като специални знаци, които разделят низовете.

Следващите примери показват как да използвате функциите TRIMLEFT и TRIMRIGHT . Те съдържат началните низове и получените низове, върнати от функциите TRIMLEFT и TRIMRIGHT :

TRIMLEFT ("RXX10-3456789", 3), връща низа 10-3456789TRIMRIGHT(" 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']

Вижте също

Създаване и редактиране на колони
Дефиниране на сборни колони, които агрегират стойности
Видео: Сборни и изчисляеми колони
Специализирани колони