Partajați prin


Crearea unui câmp calculat pentru a automatiza calculele manual

Acest subiect se aplică la Dynamics 365 Customer Engagement (on-premises). Pentru versiunea Power Apps a acestui subiect, consultați: Definiți câmpuri calculate pentru a automatiza calculele manuale

Câmpurile calculate vă permit să automatizați calculele manuale folosite în procesele dvs. de business. De exemplu, un agent de vânzări poate dori să știe venitul ponderat pentru o oportunitate, care se bazează pe venitul estimat de la o oportunitate înmulțit cu probabilitatea. Sau poate dori să aplice automat o reducere, dacă o comandă este mai mare de 500 de dolari. Un câmp calculat poate conține valori rezultate din operații matematice simple sau operații condiționale, cum ar fi Greater-Than sau If-Else și multe altele. Puteți realiza toate acestea folosind caracteristica de câmpuri calculate; nu trebuie să scrieți cod.

Capacitățile de câmp calculate:

  • Câmpurile calculate cuprind calcule care utilizează câmpurile din entitatea curentă sau din entitățile părinte asociate.

  • Suportul pentru expresii este disponibil în entitatea curentă și în câmpurile de entitate părinte aferente în secțiunile Condiție și în Acțiune secțiuni. Funcțiile de construire includ:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ANULUI SUPLIMENTAȚI, ORI SCAȚI, ZILE SCADĂ, SĂPTĂMĂNI DE SCADĂ, LUNI DE SCADĂ, SĂPTĂMÂNI DE SCADĂ, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINANI, CONCAT, TRIMLEFT și TRIMRIGHT.

  • Suportul condițional variat oferă condiții multiple și ramificare. Operațiile logice includ operatorii ȘI și OR .

  • Capacitățile de editare vizuală includ interfață de utilizator modernă și intellisense în secțiunea ACTION .

  • O integrare fără sincope a câmpurilor calculate cu formularele, vizualizările, diagramele și rapoartele este disponibilă în timp real.

  • Dacă v-ați actualizat organizația online la Actualizarea din decembrie 2016 pentru Dynamics 365 (online), puteți configura câmpurile calculate pentru a utiliza controale personalizate.

Câteva exemple de câmpuri calculate

  • Venitul ponderat: Venitul estimat înmulțit cu probabilitatea

  • Valoarea netă: Activele minus pasivele pentru un anumit cont

  • Costul forței de muncă: Rata de bază până la 40 de ore, plus orele suplimentare

  • Numărul de contact: Numărul de telefon pentru o oportunitate, în funcție de cont sau de persoana de contact

  • Scorul clientului potențial: Câmpul unic care oferă detalii despre calitatea unui anumit client potențial

  • Urmărire de: Urmărire unei activități după un număr specificat de zile, în funcție de prioritate

Important

Pentru a crea un câmp calculat, trebuie să aveți privilegiul de Scriere pentru entitatea Profil de securitate câmp. În cazul în care câmpul calculat utilizează câmpurile securizate într-un calcul, ar trebui să luați în considerare ideea de a securiza și câmpul calculat, pentru a împiedica utilizatorii să acceseze date pentru care nu au suficiente permisiuni. Editorul de câmp calculat vă avertizează atunci când creați un câmp calculat care utilizează câmpuri securizate într-un calcul, sugerându-vă să securizați câmpul calculat. Mai multe informații: Securitate la nivel de câmp.

Exemple de câmpuri calculate

Să examinăm mai în detaliu exemple de câmp calculat. Vom defini câmpurile calculate cu editorul de câmp. Pentru a deschide editorul de câmp:

  1. Deschideți exploratorul soluții

  2. Extindeți Componente>Entități.

  3. Selectați entitatea dorită și alegeți Câmpuri. Alegeți Nou.

    În editor, furnizați informațiile necesare pentru câmp, inclusiv Tipul câmpului și Tipul de date. Tipul câmpului este Calculat. Tipuri de date disponibile pentru câmpul calculat:

  • Linie unică de text

  • Set de opțiuni

  • Două opțiuni

  • Număr întreg

  • Număr zecimal

  • Monedă

  • Dată și oră

    Butonul Editați de lângă Tipul câmpului vă duce la editorul de definire a câmpului calculat, unde noul câmp calculat a fost creat, dar nu a fost stabilită nicio formulă. Definiția câmpului calculată constă din două secțiuni: CONDIȚIE și ACȚIUNE.

  • În secțiunea Condiție , puteți specifica o entitate, un câmp, un operator, un tip și o valoare. În caseta derulantă pentru Entitate, puteți alege o entitate curentă sau o entitate asociată. În caseta derulantă Câmp , aveți o selecție a tuturor câmpurilor disponibile pentru entitate. În funcție de operatorul pe care-l alegeți, poate fi nevoie să oferiți tipul și valoarea. Puteți specifica mai multe condiții folosind operatorii AND sau OR .

  • În secțiunea Acțiune , furnizați formula pentru câmpul calculat.

Notă

Puteți utiliza date din înregistrările de căutare în acțiunea dvs. Trebuie mai întâi să selectați câmpul de căutare, apoi să tastați un punct. După aceea, puteți selecta unul din câmpurile disponibile în entitatea asociată. De exemplu, în cazul <LookupFieldName>.<RelatedFieldName>, puteți selecta: ParentAccountId.AccountNumber.

Rețineți că securitatea la nivel de câmp va fi ignorată pe entitatea corelată, astfel încât dacă există date sensibile în câmpul accesat, vă sugerăm să vă asigurați și câmpul calculat.

Venitul ponderat al oportunității

În acest exemplu, folosim câmpurile entității oportunitate pentru a calcula venitul ponderat pe baza probabilității acesteia. În editorul de câmpuri pentru o entitate de oportunitate, creăm un câmp numit „Venituri ponderate” și specificăm tipul câmpului ca Calculat iar tipul de date este Moneda. În editorul de definire a câmpului calculat, în secțiunea Condiție , specificăm oportunitatea cu Status = Open. În ACȚIUNE, formula calculează venitul ponderat pe baza venitului estimat de oportunitate înmulțit cu probabilitatea oportunității. Următoarele capturi de ecran arată pas cu pas cum se definește câmpul calculat Venit ponderat.

Creați câmpul calculat numit „Venit ponderat”:

Venitul ponderat al Opportunity în Dynamics 365 for Customer Engagement.

Stabiliți condițiile oportunităților:

Setați venitul ponderat în Dynamics 365 for Customer Engagement.

Furnizați formula pentru venitul ponderat:

Setați valoarea estimată a venitului ponderat Dynamics 365 for Customer Engagement.

Cu totul:

Venitul ponderat la venitul estimat în Dynamics 365 for Customer Engagement.

Data de urmărire a oportunității

În acest exemplu, folosim câmpurile clientului potențial original al unei oportunități pentru a calcula data corespunzătoare când să urmărim oportunitatea. În editorul de câmpuri pentru o entitate de oportunitate, creăm un câmp numit „Data de urmărire” și specificăm tipul ca Calculat iar tipul de date este Data și ora. În editorul de definire a câmpului calculat, în secțiunea Condiție , specificăm două condiții: intervalul de timp de achiziție și valoarea estimată a lead-ului. În ACȚIUNE, oferim două formule, una, pentru Urmărire într-o săptămână cu ocazia imediată, alta, pentru Urmărire într-o lună, dacă este oportunitatea nu este probabil să se întâmple imediat. Următoarele capturi de ecran arată pas cu pas cum se definește câmpul calculat „Dată de urmărire”.

Creați câmpul calculat numit „Data de urmărire”:

Creați câmpul calculat numit Urmărire date.

Setați cele două condiții pe lead-ul de origine:

Setați prima condiție pentru câmpul calculat.

Setați a doua condiție pentru câmpul calculat.

Furnizați formula pentru Urmărire într-o săptămână:

Furnizați formula pentru câmpul calculat.

Furnizați formula pentru Urmărire într-o lună:

Furnizați a doua formulă.

Cu totul:

Setați data Urmărire Dacă-Atunci & Altceva în Dynamics 365 for Customer Engagement.

Zile de la crearea unei înregistrări

În acest exemplu, folosim funcția DIFFINDAYS , pentru a calcula diferența în zile de la momentul în care a fost creată o înregistrare până la data curentă.

Creați câmpul calculat numit „Diferența calculată în zile”:

Creați un câmp calculat în Dynamics 365 for Customer Engagement.

Furnizați formula pentru calcularea diferenței în zile

Câmp calculat, funcție DIFFINDAYS.

Cu totul:

Diferență în zile de la crearea înregistrării.

Sintaxa funcțiilor de câmp calculat

Următorul tabel conține informații despre sintaxa pentru funcțiile furnizate în secțiunea ACTION a câmpului calculat.

Sfat

Numele funcțiilor sunt specificate cu majuscule.

Sintaxa funcției Descriere Tipul rezultatului
ADDDAYS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, plus numărul de zile specificat. Dată și oră
ADDHOURS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, plus numărul de ore specificat. Dată și oră
ADDMONTHS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, plus numărul de luni specificat. Dată și oră
ADDWEEKS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, plus numărul de săptămâni specificat. Dată și oră
ADDYEARS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, plus numărul de ani specificat. Dată și oră
SUBTRACTDAYS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, minus numărul de zile specificat. Dată și oră
SUBTRACTHOURS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, minus numărul de ore specificat. Dată și oră
SUBTRACTMONTHS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, minus numărul de luni specificat. Dată și oră
SUBTRACTWEEKS (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, minus numărul de săptămâni specificat. Dată și oră
SCADĂ ani (număr întreg, data și ora) Returnează o nouă dată și oră, egală cu data și ora furnizate, minus numărul de ani specificat. Dată și oră
DIFFINDAYS (data și ora, data și ora) Returnează diferența în zile dintre două câmpuri Dată și Ora . Dacă atât datele cât și orele se încadrează în aceeași zi, diferența este zero. Număr întreg
DIFFHOURS (data și ora, data și ora) Returnează diferența în ore dintre două câmpuri Dată și Ora . Număr întreg
DIFFINMINUTES (data și ora, data și ora) Returnează diferența în minute între două câmpuri Dată și Ora . Număr întreg
DIFFINMONTHS (data și ora, data și ora) Returnează diferența în luni între două câmpuri Dată și Ora . Dacă atât datele cât și orele se încadrează în aceeași lună, diferența este zero. Număr întreg
DIFFINWEEKS (data și ora, data și ora) Returnează diferența în săptămâni dintre două câmpuri Dată și Ora . Dacă atât datele cât și orele se încadrează în aceeași săptămână, diferența este zero. Număr întreg
DIFFINYEARS (data și ora, data și ora) Returnează diferența în ani dintre două câmpuri Dată și Ora . Dacă atât datele cât și orele se încadrează în același an, diferența este zero. Număr întreg
CONCAT (un singur rând de text, un singur rând de text, … un singur rând de text) Returnează un string care este rezultatul concatenării a două sau mai multe șiruri. Coadă
TRIMLEFT (un singur rând de text, număr întreg) Returnează un șir care conține o copie a unui șir specificat, fără primele N caractere. Coadă
TRIMRIGHT (un singur rând de text, număr întreg) Returnează un șir care conține o copie a unui șir specificat, fără ultimele N caractere. Șir

Notă

Toate funcțiile DIFF necesită ca primul câmp Dată și oră și al doilea câmp Dată și oră să aibă același comportament : Utilizator local, Numai dată sau Independent de fus orar. În cazul în care comportamentul celui de al doilea câmp nu se potrivește cu comportamentul primului câmp, este afișat mesajul de eroare, indicând că al doilea câmp nu poate fi utilizat în funcția curentă. Mai multe informații: Comportamentul și formatul câmpului Data și Ora.

Notă

Nu puteți introduce o dată, cum ar fi 01/01/2015, ca valoare Dată într-un câmp calculat. Valorile Date și DateTime pot fi setate sau comparate numai utilizând alte câmpuri DateTime.

În funcția CONCAT , puteți utiliza șiruri literale ca linii de text unice, câmpuri de entitate care conțin o singură linie de text sau o combinație a ambelor. De exemplu: CONCAT (Prenumele, Prenume, „este manager.”). Dacă un șir literal conține ghilimele, precedați fiecare semn cu caracterul escape backslash (\), astfel: „Acest șir conține \”ghilimele. \””. Acest lucru asigură că ghilimelele din interiorul șirului nu sunt tratate drept caractere speciale care separă șirurile.

Următoarele exemple arată cum să utilizați funcțiile TRIMLEFT și TRIMRIGHT . Acestea conțin șirurile inițiale și șirurile rezultate, returnate de funcțiile TRIMLEFT și TRIMRIGHT :

TRIMLEFT („RXX10-3456789”, 3), returnează șirul „10-3456789”
TRIMRIGHT („20-3456789RXX”, 3), returnează șirul „20-3456789”

Considerații pentru câmpurile calculate

Ar trebui să cunoașteți anumite condiții și limitări atunci când lucrați cu câmpuri calculate:

  • Interogările, tabelele și vizualizările salvate pot avea maxim 10 câmpuri calculate unice.

  • Valorile câmpurilor calculate nu sunt afișate în modul Offline de Customer Engagement Outlook în vizualizările tile sau în formularele principale ale entității.

  • Numărul maxim de câmpuri calculate înlănțuite este 5.

  • Un câmp calculat nu poate să facă referire la sine sau să aibă lanțuri ciclice.

  • Dacă modificați unul dintre operatorii condiției într-o clauză cu mai multe condiții, toți operatorii condiției se vor actualiza la acea condiție. De exemplu, în clauza IF (x > 50) OR (y ==10) OR (z < 5), dacă schimbați OR operatorul în AND operatorul, atunci toți OR operatorii din clauză vor deveni AND operatori.

  • Puteți accesa câmpurile parentale prin câmpul Căutare la entitatea părinte, cum ar fi <LookupFieldName>.<FieldName>. Acest lucru nu este posibil cu câmpuri de căutare cu mai multe entități precum Customer care pot fi Account sau Contact. Cu toate acestea, unele entități au câmpuri de căutare individuale pentru o anumită entitate, cum ar fi ParentAccountid.<FieldName> sau ParentContactid.<FieldName>.

  • Sortarea este dezactivată pe:

    • Un câmp calculat care conține un câmp al unei înregistrări părinte.

    • Un câmp calculat care conține un câmp logic (de exemplu, câmpul adresă).

    • Un câmp calculat care conține un alt câmp calculat.

  • Câmpurile calculate pot cuprinde numai două entități.

    • Un câmp calculat poate conține un câmp din altă entitate (care se întinde pe două entități - entitatea curentă și înregistrarea părinte).

    • Un câmp calculat nu poate conține un câmp calculat de la o altă entitate care conține, de asemenea, un alt câmp de la o entitate diferită (se întinde pe trei entități):
      (Entitate curentă)Câmp calculat <- (Înregistrare principală) Câmp calculat 1 <- (Înregistrare principală) Câmp calculat 2.

  • Nu puteți declanșa fluxuri de lucru sau inserturi pe câmpuri calculate.

  • Nu puteți schimba un câmp simplu existent într-un câmp calculat. Dacă aplicația dvs. curentă utilizează JavaScript sau inserturi pentru a calcula un câmp, nu puteți utiliza caracteristica de câmpuri calculate fără a crea un nou câmp.

  • Regulile de detectare a dublurilor nu sunt declanșate pe câmpuri calculate.

  • Un cumul nu poate face referire la un câmp calculat care utilizează un alt câmp calculat, chiar dacă toate câmpurile celuilalt câmp calculat sunt pe entitatea curentă.

Consultați și

Creați și editați câmpuri
Definiți câmpurile cumulate
Video: acumulare și câmpuri calculate în Dynamics CRM 2015