Поділитися через


Створення поля зведення для агрегації значень

Цей розділ стосується Dynamics 365 Customer Engagement (on-premises). Версію цього розділу для Power Apps див. за посиланням: Визначення полів зведення в Power Apps

Поля зведення призначено для допомоги користувачам в отриманні основних даних за допомогою моніторингу ключових бізнес-метрик. Поле зведення містить сукупне значення, обчислене на основі записів, пов’язаних із вказаним записом, наприклад відкритих можливостей бізнес-партнера. Крім того, ви зможете збирати дані із справ, зв’язаних із записом, наприклад повідомлення електронної пошти, зустрічі та справи опосередковано пов’язані із записом за допомогою сутності «Учасник справи». У складніших сценаріях можна групувати дані над ієрархіями записів. Як адміністратор або настроювач, ви можете визначити поля зведення за допомогою функції без необхідності писати код.

Переваги та можливості полів зведення

Ось основні переваги й можливості полів зведення.

  • Візуальне редагування виконувати легко. Поля зведення можна створити за допомогою редактора полів, так само як і звичайне поле.

  • Широкий вибір агрегатних функцій. Ви можете агрегувати дані за допомогою таких функцій: SUM,, COUNT, MINта MAXAVG.

  • Повна підтримка фільтрів для агрегації. Можна встановити різні фільтри для вихідної сутності або пов'язаної сутності, встановивши кілька умов.

  • Безшовна інтеграція з інтерфейсом користувача. Поля зведення можна включити у форми, подання, діаграми та звіти.

  • Поля зведення є компонентами рішення. Їх можна легко переносити як компоненти між організаціями та поширювати в рішеннях.

  • Поля зведення та обчислювані поля доповнюють одні одних. Поле зведення можна використовувати у складі обчислюваного поля та навпаки.

    Деякі приклади полів зведення:

  • Загальний прогнозований прибуток від відкритих можливостей облікового запису

  • Загальний прогнозований прибуток від відкритих можливостей усіх облікових записів в ієрархії

  • Загальний прогнозований прибуток можливості, включно з дочірніми можливостями

  • Загальна орієнтовна вартість кваліфікованих інтересів, сформованих кампанією

  • Кількість відкритих інцидентів із високим пріоритетом для всіх облікових записів в ієрархії

  • Найраніший час створення з усіх інцидентів із високим пріоритетом для облікового запису

Кожне поле «Зведення» створює два допоміжні поля з <fieldname> шаблоном суфікса_date і <fieldname> _state. Поле _date має тип даних Datetime, а поле _state – цілочисельний тип даних.

Поле _date — це створене системою поле, яке використовується для зберігання останньої дати й часу обчислення значення зведеного поля.

Поле _state має такі значення:

Область/регіон Опис
0 => NotCalculated Значення поля ще не обчислено.
1 => Calculated Значення поля обчислено станом на час останнього оновлення в полі _date.
2 => OverflowError Обчислення значення поля спричинило помилку переповнення.
3 => OtherError Обчислення значення поля виконати не вдалося через внутрішню помилку. Імовірно, це буде виправлено наступним запуском завдання обчислення.
4 => RetryLimitExceeded Обчислити значення поля не вдалося, оскільки було перевищено максимальну кількість спроб обчислення значення через велику кількість конфліктів одночасного виконання та блокування.
5 => HierarchicalRecursionLimitReached Обчислити значення поля не вдалося, оскільки було досягнуто максимального ліміту глибини ієрархії для обчислення.
6 => LoopDetected Обчислити значення поля не вдалася, оскільки було виявлено рекурсивний цикл в ієрархії запису.

Зведені обчислення

Зведення обчислюються запланованими системними завданнями, які виконуються асинхронно у фоновому режимі. Для перегляду та керування завданнями зведення потрібні права адміністратора. Щоб переглянути зведені завдання, перейдіть до розділу «Параметри»,>«Системні завдання»,>«Перегляд», «Повторювані>системні завдання». Щоб швидко знайти відповідне завдання, можна виконати фільтрацію за типом системного завдання: «Масове обчислення поля зведення» або «Обчислення поля зведення».

  • «Масове обчислення поля зведення» — це повторюване завдання, яке створюється для кожного поля зведення. Воно запускається один раз, після створення або оновлення поля зведення. У ході завдання переобчислюється значення вказаного поля зведення в усіх наявних записах, які містять це поле. За промовчанням завдання виконуватиметься через 12 годин після того, як ви створили або оновити поле. Після завершення завдання автоматично планується його запуск у віддаленому майбутньому — приблизно через 10 років. Якщо поле змінено, час запуску завдання скидається до 12 годин після оновлення. 12-годинна затримка потрібна для забезпечення того, щоб завдання масового обчислення поля зведення виконувалося в неробочий час організації. Адміністратору рекомендовано відрегулювати час запуску завдання масового обчислення поля зведення після створення або оновлення поля зведення так, щоб воно виконувалось у неробочі години. Наприклад, гарний час для запуску цього завдання — опівночі, що забезпечить ефективне оброблення полів зведення.

  • «Обчислення поля зведення» — це повторюване завдання, яке здійснює інкрементні обчислення всіх полів зведення в наявних записах для вказаної сутності. Для кожної сутності існує тільки одне завдання «Обчислення поля зведення». Інкрементні обчислення означають, що завдання «Обчислення поля зведення» обробляє записи, які було створено, оновлено або видалено після останнього завершення виконання завдання «Масове обчислення поля зведення». За промовчанням максимальне значення повторювання дорівнює одній годині. Завдання автоматично створюється зі створенням першого поля зведення для сутності та видаляється з видаленням останнього поля зведення.

  • Функція переобчислення в онлайновому режимі. Якщо навести вказівник на поле зведення у формі, можна побачити час останнього зведення; значення зведення можна оновити, вибравши піктограму «Оновити» поруч із полем, як показано нижче:

    Поле зведення у формі облікового запису в Dynamics 365 for Customer Engagement.

    Є кілька рекомендацій, про які слід пам'ятати, використовуючи функцію переобчислення в онлайновому режимі (ручне оновлення на формі):

    • У вас мають бути права на записування для сутності та права доступу для читання для запису-джерела, щодо якого ви подаєте запит на команду «Оновити». Наприклад, якщо обчислюється прогнозований прибуток від відкритих можливостей облікового запису, не потрібні права на записування до сутності можливості, а лише до сутності облікового запису.

    • Ця функція доступна лише в онлайновому режимі. Під час автономної роботи нею скористатися неможливо.

    • Максимальна кількість записів під час оновлення зведення обмежена 50 000. У разі ієрархічного зведення це стосується і пов'язаних записів по всій ієрархії. Якщо ліміт перевищено, з'явиться повідомлення про помилку: «Не вдалося виконати розрахунки в онлайновому режимі, оскільки досягнуто граничної кількості обчислень пов'язаних записів (50 000)." Це обмеження не застосовується, якщо зведення автоматично переобчислюється системними завданнями.

    • Максимальна глибина ієрархії обмежена 10 для запису джерела. Якщо ліміт перевищено, з'явиться повідомлення про помилку: «Не вдалося виконати розрахунки в онлайновому режимі, оскільки досягнуто граничної глибини ієрархії для запису джерела (10 )." Це обмеження не застосовується, якщо зведення автоматично переобчислюється системними завданнями.

    Як системний адміністратор ви можете змінити схему повторення завдання зведення, відкласти його, призупинити чи продовжити. Проте скасувати або видалити завдання зведення не можна. Щоб призупинити, відкласти, відновити або змінити шаблон повторення, перейдіть до розділу Настройки>Системні завдання. У поданні виберіть «Повторювані системні завдання». На панелі переходів виберіть «Дії » та виберіть потрібну дію. Для завдання «Масове обчислення поля зведення» доступні такі варіанти: «Відновити», «Відкласти» та «Призупинити». Для завдання «Обчислення поля зведення» доступні такі варіанти: «Змінити повторення», «Відновити», «Відкласти» та «Призупинити».

Бізнес-сценарії з полями зведення

Давайте розглянемо декілька сценаріїв поля зведення. Ми будемо збирати дані для запису з пов’язаних записів, без використання ієрархії. Також ми збиратимемо дані для запису з усіх пов’язаних справ із записом та справ опосередковано пов’язаних із записом за допомогою сутності «Учасник справи». У кожному прикладі ми визначимо поле зведення, використовуючи редактор полів. Щоб відкрити редактор полів, відкрийте провідник рішень і розгорніть розділ «Сутності> компонентів». Виберіть потрібну сутність і натисніть Поля. Виберіть Новий. У редакторі надайте необхідну інформацію для поля, включно з типом поля та типом даних. У полі Тип поля виберіть Зведення, вибравши тип даних. Типи даних включають десяткові або цілі числа, грошові одиниці та дату/час. Натисніть кнопку «Редагувати » поруч із пунктом «Тип поля». Відкриється редактор визначень полів зведення. Визначення поля зведення складається з трьох розділів: Вихідна сутність, Пов’язана сутність і Агрегація.

  • У розділі Вихідна сутність укажіть сутність, для якої визначено поле зведення, а також те, чи агрегується за ієрархією. Можна додати фільтри з багатьма умовами, щоб указати записи в ієрархії, які слід використати для зведення.

  • У розділі Пов’язана сутність указується сутність, за якою здійснюється агрегація. Цей розділ не є обов'язковим у разі вибору зведення за ієрархією щодо вихідної сутності. Можна додати фільтри з багатьма умовами, щоб указати, які пов'язані записи слід використати в розрахунку. Наприклад, можна включити прибуток від відкритих можливостей із річним доходом понад $1000.

  • У розділі Агрегат укажіть показник, який потрібно обчислити. На вибір доступні агрегатні функції, такі як SUM, COUNT, MIN, MAX або AVG.

У цьому прикладі ієрархія не використовується. Загальний прогнозований прибуток розраховується для облікового запису, на основі пов'язаних відкритих можливостей.

Об’єднайте приблизний дохід для облікового запису Dynamics 365 for Customer Engagement.

Агрегація даних для запису на основі дочірніх записів, за ієрархією

У цьому прикладі ми обчислюємо загальний прогнозований прибуток від можливості включно з дочірніми можливостями, за ієрархією.

Зведіть прогнозований прибуток, ієрархія потенційної угоди.

У цьому прикладі ми обчислюємо загальний прогнозований прибуток від відкритих можливостей для всіх облікових записів, за ієрархією.

Зведіть прогнозований прибуток над ієрархією облікового запису.

У цьому прикладі ми обчислимо загальний витрачений час, на який виставлено рахунок, на всі справи, пов’язані з бізнес-партнером. Це може включати час, витрачений на телефон, на зустрічі, або на настроювані справи.

У попередніх випусках можна було визначити поле зведення для окремої справи, наприклад, виклик, факс або зустріч. Але, щоб досягти результату у прикладі, показаному нижче, вам треба було підбити підсумок за допомогою обчислюваних полів. Тепер ви можете зробити це все за один крок, визначаючи одне поле зведення для сутності «Справа».

Зведіть всю діяльність облікового запису.

У цьому прикладі ми розраховуємо загальну кількість повідомлень електронної пошти, надісланих бізнес-партнеру, де бізнес-партнера зазначено в полі повідомлення електронної пошти «Одержувач» або «Копія». Для цього у визначенні поля зведення вказується Тип участі у ФІЛЬТРАХ для сутності Activity Party. Якщо ви не використовуєте фільтрування, тоді всі доступні типи участі для справи використовуються в обчисленні. Для отримання додаткової інформації про сутність «Сторона діяльності» та типи участі, доступні для певної діяльності, перегляньте статтю Сутність «Вечірка діяльності».

Зведіть пов’язані діяльності та сторони діяльності.

У цьому прикладі ми обчислимо середній прогнозований прибуток від усіх потенційних угод, пов’язаних із бізнес-партнером.

Середній приблизний дохід у Dynamics 365 for Customer Engagement.

Наступний приклад показує, як розрахувати середній прогнозований прибуток від пов’язаних потенційних угод через ієрархії бізнес-партнерів. Середній прогнозований прибуток можна бачити на кожному рівні ієрархії.

Середній передбачуваний дохід.

Рекомендації щодо полів зведення

Працюючи з полями зведення, слід пам'ятати про певні умови та обмеження:

  • Можна визначити максимум 100 полів зведення для організації та до 10 полів зведення для кожної сутності.

  • Робочий цикл не може запускатися оновленнями полів зведення.

  • В умові очікування робочого циклу не можна використовувати поле зведення.

  • Зведення за полем зведення не підтримується.

  • Зведення не можна зв’язувати з обчислюваним полем, яке використовує інше обчислюване поле, навіть якщо всі поля іншого обчислюваного поля походять із поточної сутності.

  • Поле зведення не оновлюється автоматично, якщо в ньому використовується поле формули, яке залежить від функцій, прив’язаних до часу, наприклад NOW(), UTCNOW(), ISUTCTODAY(), або UTCTODAY(). Для обчислення останнього значення зведеного поля необхідно використовувати опцію онлайн-переобчислення (оновлення форми вручну) або кнопку «Перерахувати ».

  • Зведення може застосовувати фільтри лише до вихідної сутності або пов'язаних сутностей, простих полів або нескладних обчислюваних полів.

  • Зведення можна виконати лише за пов'язаними сутностями зі зв'язком 1:N. Не можна виконати зведення за зв'язками N:N.

  • Зведення не можна виконати за зв'язком 1:N для сутності «Справа» або «Учасник справи».

  • Бізнес-правила, робочі цикли або обчислювані поля завжди використовують останнє обчислене значення поля зведення.

  • Поле зведення агрегатується в контексті користувача системи. Усі користувачі мають можливість переглядати те саме значення поля зведення. Керувати видимістю поля зведення можна за допомогою безпеки на рівні полів (FLS), обмежуючи осіб, які матимуть доступ до поля зведення. Додаткові відомості: Безпека на рівні поля.

  • Якщо точність агрегованого поля перевищує точність поля зведення, агреговане поле закруглюється до точності поля зведення, перш ніж агрегація виконається. Щоб проілюструвати цю поведінку, давайте подивимося на приклад. Припустимо, поле зведення сутності бізнес-партнера для розрахунку загального прогнозованого прибутку відповідних потенційних угод має точність два десяткові знаки після коми. Поле "Орієнтовний прибуток" у сутності потенційної угоди – це агреговане поле з точністю чотири десяткові знаки після коми. У нашому прикладі з бізнес-партнером пов'язано дві потенційні угоди. Сукупна величина орієнтовного доходу обчислюється таким чином:

    1. Est. Орієнтовний дохід для першої потенційної угоди: $1000.0041

    2. Est. Орієнтовний дохід для другої потенційної угоди: $2000.0044

    3. Сукупні суми орієнтовного Прибуток: $1000.00 + $2000.00 = $3000.00
      Як ви можете бачити, точне округлення до двох десяткових знаків у агрегованому полі виконується перед тим, як відбувається агрегація.

  • Певні форми сутності, наприклад бізнес-партнер або контактна особа, у готовому вигляді містять пов'язані сітки. Наприклад, форма бізнес-партнера включає в себе контактних осіб, інциденти, потенційні угоди та інші сітки. Деякі записи, відображені в сітках форми бізнес-партнера, безпосередньо пов'язані із записом бізнес-партнера; інші – непрямо, через свої зв'язки з іншими записами. Для порівняння, агрегація поля зведення використовує тільки прямі зв'язки, явно визначені у визначенні поля зведення. Інші зв'язки не розглядаються. Щоб проілюструвати відмінності в поведінці, розглянемо такий приклад.

    1. Бізнес-патрнер A1 має первинну контактну особу P1. Випадок С1 пов’язаний з рахунком А1 (С1. Поле клієнта = А1), а випадок С2 пов’язаний з контактом Р1 (С2. Поле клієнта = P1).

    2. У сітці «Інциденти» у формі «Рахунок » для запису A1 відображаються два випадки, C1 і C2.

    3. Поле зведення сутності бізнес-партнера, що називається Загальна кількість інцидентів, використовується для підрахунку інцидентів, пов'язаних з обліковим записом.

    4. У визначенні поля зведення бізнес-партнера ми вказуємо інциденти, які мають клієнтський зв'язок із бізнес-партнером. Після агрегування загальна кількість інцидентів дорівнює 1 (це інцидент C1). Інцидент C2 не входить у загальну кількість, оскільки стосується безпосередньо контактної особи, а не бізнес-партнера, і не може бути явно визначений у визначенні поля зведення бізнес-партнера. Як наслідок, загальна кількість інцидентів, повернутих операцією зведення, не збігається з кількістю інцидентів, показаних у сітці Інциденти .

Див. також

Створення та редагування полів
Визначення обчислюваних полів
Поведінка та формат поля «Дата й час»
Запитуйте та візуалізуйте ієрархічні дані