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:
Deschideți exploratorul soluții
Extindeți Componente>Entități.
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
sauOR
.Î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”:
Stabiliți condițiile oportunităților:
Furnizați formula pentru venitul ponderat:
Cu totul:
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”:
Setați cele două condiții pe lead-ul de origine:
Furnizați formula pentru Urmărire într-o săptămână:
Furnizați formula pentru Urmărire într-o lună:
Cu totul:
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”:
Furnizați formula pentru calcularea diferenței în zile
Cu totul:
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țiOR
operatorul înAND
operatorul, atunci toțiOR
operatorii din clauză vor deveniAND
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 precumCustomer
care pot fiAccount
sauContact
. Cu toate acestea, unele entități au câmpuri de căutare individuale pentru o anumită entitate, cum ar fiParentAccountid.<FieldName>
sauParentContactid.<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