Определение вычисляемых столбцов для автоматизации расчетов

Используйте вычисляемые столбцы для автоматизации в противном случае выполняемых вручную вычислений, которые используются в ваших бизнес-процессах.

Например, продавцу может потребоваться узнать взвешенный доход по возможной сделке, основанный на значении предполагаемого дохода от возможной сделки, умноженного на вероятность. Либо требуется автоматически применить скидку на заказы стоимостью более 500 долларов. Вычисляемый столбец может содержать значения, полученные по результатам простых математических операций или условных операций, например "больше чем" или "если, то" и т. д. Для достижения этого можно воспользоваться Power Apps, нет необходимости создавать код.

Возможности

  • Вычисляемые столбцы используют столбцы из текущей таблицы или связанных дочерних таблиц.
  • Поддержка выражения доступна в столбцах текущей таблицы и связанных столбцах родительской таблицы в разделах Условие и Действие. К встроенным функциям относятся:
    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT и TRIMRIGHT. Больше информации: Синтаксис функций
  • Мощная условная поддержка обеспечивает ветвление и возможность работы с большим количеством условий. Логические операции включают операторы И и ИЛИ.
  • Возможности визуального редактирования включают современный пользовательский интерфейс и элементы Intellisense в разделе ДЕЙСТВИЕ.
  • Беспроблемная интеграция вычисляемых столбцов в формы, представления, диаграммы и отчеты осуществляется в реальном времени.
  • Вычисляемые столбцы можно настроить для использования настраиваемых элементов управления.

Сценарии

  • Взвешенный доход: предполагаемый доход, умноженный на вероятность
  • Чистая стоимость: активы за минусом обязательств для данной организации
  • Стоимость труда: базовая ставка до 40 часов и доп. переработка
  • Номер контакта: номер телефона для возможной сделки на основе данных организации или контакта
  • Балл интереса: один столбец, который предоставляет сведения о качестве данного интереса
  • Дальнейшие действия: дальнейшие действия за указанное количество дней с учетом приоритета

Важно!

Для создания вычисляемого столбца необходимо иметь привилегию на запись в таблице профиля безопасности полей. Если вычисляемый столбец использует защищенные столбцы в вычислении, необходимо подумать о целесообразности защиты и вычисляемого столбца, чтобы не дать пользователям возможность осуществлять доступ к данным без достаточных разрешений. Редактор вычисляемого столбца отображает предупреждение, если создается вычисляемый столбец, использующий безопасные столбцы в вычислении, и предлагает обеспечить безопасность вычисляемого столбца. Дополнительные сведения: Безопасность на уровне столбцов для контроля доступа.

Типы столбцов, поддерживающие вычисления

  • Текст
  • Набор выбора
  • Да/нет
  • Целое число
  • Десятичное число
  • Валюта.
  • Дата Время

Создание вычисляемого столбца

  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 (целое число, дата и время) Возвращает новую дату и время, равные дате и времени минус определенное количество часов. Дата и время
SUBTRACTMONTHS (целое число, дата и время) Возвращает новую дату и время, равные дате и времени минус определенное количество месяцев. Дата и время
SUBTRACTWEEKS (целое число, дата и время) Возвращает новую дату и время, равные дате и времени минус определенное количество недель. Дата и время
SUBTRACTYEARS (целое число, дата и время) Возвращает новую дату и время, равные дате и времени минус определенное количество лет. Дата и время
DIFFINDAYS (дата и время, дата и время) Возвращает разницу в днях между двумя столбцами Дата и время. Если оба момента во времени припадают на один и тот же день, разница равна нулю. Целое число
DIFFINHOURS (дата и время, дата и время) Возвращает разницу в часах между двумя столбцами Дата и время. Целое число
DIFFINMINUTES (дата и время, дата и время) Возвращает разницу в минутах между двумя столбцами Дата и время. Целое число
DIFFINMONTHS (дата и время, дата и время) Возвращает разницу в месяцах между двумя столбцами Дата и время. Если оба момента во времени припадают на один и тот же месяц, разница равна нулю. Целое число
DIFFINWEEKS (дата и время, дата и время) Возвращает разницу в неделях между двумя столбцами Дата и время. Если оба момента во времени припадают на одну и ту же неделю, разница равна нулю. Целое число
DIFFINYEARS (дата и время, дата и время) Возвращает разницу в годах между двумя столбцами Дата и время. Если оба момента во времени припадают на один и тот же год, разница равна нулю. Целое число
CONCAT (одна строка текста, одна строка текста, одна строка текста, ... одна строка текста) Возвращает строку, которая является результатом объединения двух и более строк. String
TRIMLEFT (одна строка текста, целое число) Возвращает строку, содержащую копию указанной строки без указанного количества первых символов. String
TRIMRIGHT (одна строка текста, целое число) Возвращает строку, содержащую копию указанной строки без указанного количества последних символов. String

Примечание

Все функции DIFF требуют, чтобы первый столбец Дата и время и второй столбец Дата и время имели одинаковое поведение: Часовой пояс пользователя, Только дата или Независимо от часового пояса. Если поведение второго столбца не соответствует поведению первого столбца, то отображается сообщение об ошибке с указанием того, что второй столбец нельзя использовать в текущей функции. Дополнительные сведения: Поведение и формат столбца "Дата и время".

Примечание

Невозможно ввести дату, например 01.01.2015, в качестве значения Date в вычисляемый столбец. Значения Date и DateTime можно задать или сравнить только с помощью других столбцов DateTime.

В функции CONCAT можно использовать буквенные строки как отдельные строки текста, столбцы таблицы, содержащие отдельную строку текста, или и то, и другое. Например, CONCAT (Имя, Фамилия, "является руководителем"). Если буквенная строка содержит прямые кавычки, перед каждой меткой добавьте символ наклонной черты (\), например This string contains the \"quotation marks.\". Это гарантирует, что прямые кавычки в строке не будут рассматриваться как специальные символы, разделяющие строки.

В следующих примерах показано, как использовать функции TRIMLEFT и TRIMRIGHT. Они содержат исходные и полученные строки, возвращенные функциями TRIMLEFT и TRIMRIGHT:

TRIMLEFT ("RXX10-3456789", 3) возвращает строку 10-3456789
TRIMRIGHT ("20-3456789RXX", 3) возвращает строку 20-3456789

Рекомендации

При работе с вычисляемыми столбцами следует учитывать ряд определенных условий и ограничений:

  • Сохраненные запросы, диаграммы и визуализации могут иметь не более 50 уникальных вычисляемых столбцов.

  • Значения вычисляемых столбцов не отображаются в автономном режиме клиента Outlook для представлений плитки и в основных формах таблиц.

  • Максимальное число объединенных в цепь вычисляемых столбцов — 5.

  • Вычисляемый столбец не может ссылаться на самого себя или иметь циклические цепи.

  • Если изменить один из операторов условия в множественном предложении условия, все операторы условия будут обновлены до этого условия. Например, в предложении IF (x > 50) OR (y ==10) OR (z < 5) при изменении оператора OR на оператор AND все операторы OR в предложении станут операторами AND.

  • Можно получить доступ к родительским столбцам через столбец подстановки в родительской таблице, например <LookupFieldName>.<FieldName>. Это невозможно со столбцами подстановки для нескольких таблиц (например, "Клиент"), которые могут являться столбцами "Организация" или "Контакт". Однако некоторые таблицы имеют отдельные столбцы подстановки для определенной таблицы, такой как ParentAccountid.<FieldName> или ParentContactid.<FieldName>.

  • Сортировка отключена:

    • Вычисляемый столбец, содержащий столбец из родительской строки.
    • Вычисляемый столбец, содержащий логический столбец (например, столбец адреса)
    • Вычисляемый столбец, содержащий другой вычисляемый столбец.
    • Вычисляемый столбец, содержащий функцию Now().
  • Вычисляемые столбцы могут охватывать только две таблицы.

    • Вычисляемый столбец может содержать столбец из другой таблицы (охватывающий две таблицы — текущую таблицу и родительскую строку).
    • Вычисляемый столбец не может содержать вычисляемый столбец из другой таблицы, которая также содержит другой столбец из другой таблицы (охватывать 3 таблицы):
      (Текущая таблица) Вычисляемый столбец ← (Родительская строка) Вычисляемый столбец 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']

См. также

Создание и изменение столбцов
Определение столбцов свертки, которые агрегируют значения
Видео: столбцы свертки и вычисляемые столбцы
Вычисляемые столбцы, столбцы формул и свертки с использованием кода

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).