Споделяне чрез


Създайте сборно поле, за да обобщите стойностите

Тази тема се прилага към Dynamics 365 Customer Engagement (on-premises). За версията на Power Apps на тази тема вижте: Дефиниране на сборни полета в Power Apps

Сборните полета са предназначени да помагат на потребителите да получават бърз преглед на данните, като наблюдават ключовите бизнес показатели. Сборните полета съдържат общата стойност, изчислена на базата на записите, свързани с определен запис, като например отворени възможности на клиент. Също така ще можете да обобщавате данни от дейности, пряко свързани с даден запис, например имейли и ангажименти, и дейности, непряко свързани с даден запис, чрез обекта Страна по дейност. В по-сложните сценарии може да се събирате данни, базирани на йерархията на записите. Като администратор или персонализатор можете да дефинирате сборни полета с помощта на функцията, без да се налага на разработчик да пише код.

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

Предимствата и възможностите на сборните полета включват следното:

  • Визуалното редактиране е лесно. Можете да създадете сборни полета чрез редактора на поле, точно както правите, когато създавате обикновено поле.

  • Богат избор от агрегатни функции. Можете да агрегирате данни, като използвате следните функции: SUM, COUNT, MINMAXAVG.

  • Поддръжка на пълен филтър за сумиране. Можете да зададете различни филтри за обекта на източник или свързан обект при задаване на множество условия.

  • Цялостна интеграция с потребителския интерфейс. Можете да включите сборните полета във формуляри, изгледи, диаграми и отчети.

  • Сборните полета са компоненти на решения. Можете лесно да транспортирате сборните полета като компоненти на решения и да ги разпространявате в решения.

  • Сборните полета и изчисляемите полета са взаимно допълващи се. Можете да използвате сборно поле като част от изчисляемо поле и обратно.

    Някои примери за сборни полета включват:

  • Общата прогнозна стойност на приходите на отворени възможности на клиент

  • Общата прогнозна стойност на приходите на отворени възможности на всички акаунти в йерархия

  • Общата прогнозна стойност на приходите от възможност, включително свързани възможности

  • Общата прогнозна стойност на квалифицирани потенциални клиенти, генерирани в дадена кампания

  • Брой отворени случаи с висок приоритет за всички акаунти в дадена йерархия

  • Часът на най-рано създаване на всички отворени случаи с висок приоритет за даден акаунт

Всяко сборно поле създава две допълнителни полета с <fieldname>_date и <fieldname>_state суфикс. Полето _date е от типа данни „Дата и час“, а полето _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.

Агрегиране на данни за запис от дъщерни записи, въз основа на йерархията

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

Сборен очакван приход, йерархия на възможност.

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

Агрегиран очакван приход въз основа на йерархията на акаунт.

В този пример изчисляваме общото време, прекарано и фактурирано от всички дейности, свързани с акаунт. Това може да включва времето, прекарано на телефона, в ангажименти или за персонализирани дейности.

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

Усреднен сбор от всички дейности за акаунт.

В този пример ние броим общия брой имейли, изпратени до клиента, където клиентът е част от списъка в реда „До“ или „Як“ на имейла. Това се прави, като се укаже Вид участие във ФИЛТРИ за обекта Страна по дейност в дефиницията на сборното поле. Ако не използвате филтриране, то всички налични видове участие за дадена дейност се използват при изчислението. За повече информация относно обекта на Страна по дейността и видовете участие, налични за конкретна дейност, вижте Обект на Страна по дейността.

Дейности, свързани с усреднен сбор, и страна по дейността.

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

Среден прогнозен приход в Dynamics 365 for Customer Engagement.

Следващият пример показва как да се изчисли средният очакван приход от свързани възможности въз основа на йерархия на акаунти. Средният очакван приход може да се види на всяко ниво в йерархията.

Среден прогнозен приход.

Съображения за сборно поле

Трябва да сте наясно за определени условия и ограничения при работа със сборни полета:

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

  • Не може да бъде предизвикан бизнес процес от актуализацията на сборно поле.

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

  • Усреднен сбор въз основа на сборно поле не се поддържа.

  • Усредненият сбор не може да се отнася до изчисляемо поле, което използва друго изчисляемо поле, дори ако всички полета на другото изчисляемо поле са в текущия обект.

  • Сборното поле не се актуализира автоматично, ако използва поле за формула, което зависи от функции, обвързани с време, като например NOW(), UTCNOW(), ISUTCTODAY(), или UTCTODAY(). Опцията за онлайн преизчисляване (ръчно обновяване във формуляра) или бутонът Преизчисляване трябва да се използва за изчисляване на последната сборна стойност на полето.

  • Усредненият сбор може да приложи филтри само към обекта източник или свързани обекти, прости полета или изчисляеми полета, които не са сложни.

  • Усредненият сбор може да бъде получен само въз основа на свързани обекти с релацията 1:N. Усреднен сбор не може да се получи въз основа на релациите N:N.

  • Усреднен сбор не може да се получи въз основа на релацията 1:N за обекта „Дейност“ или обекта „Страна по дейност“.

  • Бизнес правилата, бизнес потоците или изчисляемите полета винаги използват последната изчислена стойност на усредненото поле.

  • Сборните полета се агрегират в контекста на потребителя на системата. Всички потребители могат да видят една и съща стойност за сборното поле. Можете да контролирате видимостта на сборните полета със защита на ниво поле (FLS), като посочите кой да има достъп до сборното поле. Повече информация: Сигурност на ниво поле.

  • Ако точността на агрегатното поле е по-голяма от точността на сборното поле, точността на агрегатното поле се закръглява надолу до точността на сборното поле, преди извършване на сумирането. За да илюстрираме това поведение, нека да погледнем конкретен пример. Да предположим, че сборното поле на обекта на клиента, за изчисляване на общия очакван приход на свързаните възможности, е с точност до два знака след десетичната запетая. Полето „Очакван приход“ в обекта „Възможност“ е сборно поле с точност до четири знака след десетичната запетая. В нашия пример клиентът има две свързани възможности. Сборната сума на очаквания приход се изчислява, както следва:

    1. Очакван приход за първата възможност: 1000,0041 щ.д.

    2. Очакван приход за втората възможност: 2000,0044 щ.д.

    3. Сборна сума от очакван Приход: 1000,00 щ.д. + 2000,00 щ.д. = 3000,00 щ.д.
      Както можете да видите, закръгляването с точност до два знака след десетичната запетая в агрегираното поле се извършва преди извършване на агрегирането.

  • Някои формуляри на обект, като например „Клиент“ или „Контакт“, по подразбиране съдържат свързаните мрежи. Например формулярът "Клиент" включва контакти, случаи, възможности и други мрежи. Някои от записите, показани в мрежите на формуляра „Клиент“, са пряко свързани със записа на клиента; други – непряко – чрез релации с други записи. За сравнение, сумирането на сборното поле използва единствено директни релации, изрично определени в дефиницията на сборно поле. Не се вземат предвид други релации. За да илюстрираме разликата в поведението, нека разгледаме следния пример.

    1. Клиент A1 има основен контакт, Р1. Случаят C1 е свързан със сметка A1 (C1. Клиентско поле = A1) и случаят C2 е свързан с контакта P1 (C2. Клиентско поле = P1).

    2. Мрежата "Случаи" във формуляра "Партньор" за записа A1 показва два случая, C1 и C2.

    3. Сборното поле за обект на клиент, наречено "Общ брой случаи", се използва за преброяване на случаите, свързани с клиента.

    4. В дефиницията на сборно поле на клиент указваме случаите, които имат „Взаимоотношения с клиент“ с клиента. След сумиране общият брой случаи е равен на 1 (случай C1). Случай С2 не е включен в общата сума, тъй като е пряко свързан с контакта, а не с клиента, и не може да бъде изрично определен в дефиницията на сборно поле на клиент. В резултат на това общият брой случаи, върнати чрез сборна операция, не съответства на броя на случаите, показани в мрежата "Случаи ".

Вижте също

Създаване и редактиране на полета
Дефиниране на изчисляеми полета
Поведение и формат на полето "Дата и час"
Заявяване и визуализиране на йерархични данни