Apskaičiuotojo lauko kūrimas neautomatiniams skaičiavimams automatizuoti
Ši tema taikoma „Dynamics 365 Customer Engagement (on-premises)“. Šios temos „Power Apps“ versijos ieškokite: Apskaičiuotųjų laukų apibrėžimas, siekiant automatizuoti neautomatinius skaičiavimus
Apskaičiuotieji laukai suteikia galimybę automatizuoti neautomatinius skaičiavimus, naudojamus verslo procesuose. Pavyzdžiui, pardavėjas gali norėti sužinoti, kokios yra galimybės svertinės įplaukos, kurios yra pagrįstos apskaičiuotomis pajamomis iš galimybės, padaugintomis iš tikimybės. Arba jis gali norėti, kad būtų automatiškai pritaikoma nuolaida, jei užsakymas didesnis nei 500 USD. Apskaičiuotajame lauke gali būti reikšmių, kurios gaunamos atlikus paprastas matematines operacijas arba sąlygines operacijas, tokias kaip sąlygas „daugiau kaip“ arba IF-ELSE ir daug kitų. Visa ta galite padaryti naudodami apskaičiuotųjų laukų funkciją; nereikia rašyti kodo.
Apskaičiuotojo lauko galimybės:
Apskaičiuotuosius laukus sudaro skaičiavimai, kurie naudoja laukus iš dabartinio objekto arba susijusių pirminių objektų.
Išraiškos palaikymas galimas dabartinio objekto ir susijusių pirminis objekto laukų skyriuose Sąlyga ir Veiksmas . Įtaisytosios funkcijos:
ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS , DIFFINWEEKS, DIFFINYEARS, DIFFINYEARS , CONCAT, TRIMLEFT ir TRIMRIGHT.
Gausus sąlygų palaikymas suteikia skirstymo į šakas ir kelių sąlygų taikymo galimybes. Loginės operacijos apima AND ir OR operatorius.
Vaizdinės redagavimo galimybės apima modernią vartotojo sąsają ir "Intellisense" skyriuje VEIKSMAS .
Sklandus apskaičiuotųjų laukų integravimas su formomis, rodiniais, diagramomis ir ataskaitomis pasiekiamas realiuoju laiku.
Jei atnaujinote savo internetinę organizaciją į 2016 m. gruodžio naujinimą, galite Dynamics 365 (online) konfigūruoti apskaičiuotuosius laukus, kad būtų naudojami pasirinktiniai valdikliai.
Keli apskaičiuotųjų laukų pavyzdžiai
Svertinės įplaukos: įvertintos įplaukos, padaugintos iš tikimybės
Grynoji vertė: kliento turtas, atėmus įsipareigojimus
Išlaidos už darbą: bazinis tarifas iki 40 valandų ir papildomas tarifas už viršvalandžius
Kontakto numeris: galimybės, pagrįstos klientu arba kontaktu, telefono numeris
Galimo kliento rezultatas: vienas laukas, kuris suteikia įžvalgų apie konkretaus galimo kliento kokybę
Eina po: tolesnės veiklos dienų skaičius pagal prioritetą
Svarbu
Norėdami sukurti apskaičiuotąjį lauką, turite turėti rašymo teisę lauko saugos profilio objekte. Jei apskaičiuotasis laukas naudoja apsaugotus laukus, kai atliekamas skaičiavimas, turite apsvarstyti galimybę apsaugoti ir apskaičiuotąjį lauką, kad vartotojai negalėtų pasiekti duomenų, kuriems jie neturi pakankamų teisių. Apskaičiuotųjų laukų rengyklė pateikią įspėjimą, jei kuriate apskaičiuotąjį lauką, kuris naudoja apsaugotus laukus, kai atliekamas skaičiavimas, ir siūloma apsaugoti apskaičiuotąjį lauką. Daugiau informacijos: Lauko lygio sauga.
Apskaičiuotųjų laukų pavyzdžiai
Detaliau apžvelkime apskaičiuotųjų laukų pavyzdžius. Apibrėšime apskaičiuotuosius laukus naudodami laukų rengyklę. Norėdami atidaryti lauko rengyklę:
Atidarykite sprendimų naršyklę
Išplėskite komponentų>objektus.
Pasirinkite norimą objektą ir pasirinkite Laukai. Pasirinkite Naujas.
Redaktoriuje pateikite reikiamą lauko informaciją, įskaitant lauko tipą ir duomenų tipą. Lauko tipas yra Apskaičiuotas. Galimi apskaičiuotojo lauko duomenų tipai:
Viena teksto eilutė
Parinkčių rinkinys
Dvi parinktys
Sveikasis skaičius
Dešimtainis skaičius
Valiuta
Data ir laikas
Mygtukas Redaguoti , esantis šalia lauko tipo , nukreipia jus į apskaičiuojamojo lauko aprašo rengyklę, kurioje sukurtas naujas apskaičiuotasis laukas, bet nenustatyta formulė. Apskaičiuotojo lauko aprašą sudaro dvi dalys: SĄLYGA ir VEIKSMAS.
Sekcijoje Sąlyga galite nurodyti objektą, lauką, operatorių, tipą ir reikšmę. Objekto išplečiamajame laukegalite pasirinkti dabartinį arba susijusį objektą. Išplečiamajame lauke Laukas galite pasirinkti visus galimus objekto laukus. Atsižvelgiant į pasirinktą operatorių, jums gali reikėti pateikti tipą ir reikšmę. Galite nurodyti kelias sąlygas naudodami
AND
orOR
operatorius.Sekcijoje Veiksmas pateikiate apskaičiuotojo lauko formulę.
Pastaba.
Savo veiksme galite naudoti duomenis iš peržvalgos įrašų. Pirmiausiai reikia pažymėti peržvalgos lauką, ir tada įvesti laikotarpį. Po to galėsite pažymėti vieną iš susijusio objekto laukų. Pavyzdžiui, "LookupFieldName <" atveju>.<RelatedFieldName>, galite pasirinkti: ParentAccountId.AccountNumber.
Atkreipkite dėmesį, kad nebus paisoma susijusio objekto lauko lygio saugos, todėl, jei atidarytame lauke yra slaptų duomenų, siūlome apsaugoti ir apskaičiuotąjį lauką.
Galimybės svertinės įplaukos
Šiame pavyzdyje naudojame galimybės objekto laukus, kad apskaičiuotume svertines įplaukas pagal galimybės tikimybę. Galimybės objekto laukų rengyklėje sukuriame lauką pavadinimu "Svertinės pajamos" ir nurodome lauko tipą kaip Apskaičiuota, o duomenų tipą – Valiuta. Apskaičiuotojo lauko aprašo redaktoriuje, skyriuje Sąlyga , nurodome galimybę su Status = Open. ACTION formulė apskaičiuoja svertines pajamas pagal galimybės numatomas pajamas, padaugintas iš galimybės tikimybės. Tolesnėse ekrano kopijose parodyti veiksmai, kaip apibrėžti apskaičiuotąjį lauką Svertinės įplaukos.
Sukurkite apskaičiuotąjį lauką pavadinimu "Svertinės pajamos":
Nustatykite galimybių sąlygą:
Pateikite svertinių pajamų formulę:
Apskritai:
Galimybės tolesnės veiklos data
Šiame pavyzdyje naudojame galimybės pradinio galimo kliento laukus, kad apskaičiuotume tinkamą datą, kada turi būt vykdoma galimybės tolesnė veikla. Galimybės objekto laukų rengyklėje sukuriame lauką pavadinimu "Vykdymo data" ir nurodome tipą kaip Apskaičiuotasis , o duomenų tipas yra Data ir laikas. Apskaičiuotojo lauko apibrėžimo redaktoriuje skyriuje Sąlyga nurodome dvi sąlygas: pirkimo laiko tarpą ir numatomą švino vertę. ACTION pateikiame dvi formules: vieną, kad per vieną savaitę kitas dėl neatidėliotinos galimybės, kitą, kad kitas per vieną mėnesį, jei tikėtina, kad galimybė neįvyks iš karto. Tolesnėse ekrano kopijose parodyti veiksmai, kaip apibrėžti apskaičiuotąjį lauką „Tolesnės veiklos data“.
Sukurkite apskaičiuotąjį lauką pavadinimu "Vykdymo data":
Nustatykite dvi sąlygas pradiniam švinui:
Pateikite formulę, kad kitas per vieną savaitę:
Pateikite formulę, kad kitas per vieną mėnesį:
Apskritai:
Dienos (-ų) nuo įrašo sukūrimo
Šiame pavyzdyje naudojame funkciją DIFFINDAYS , kad apskaičiuotume dienų skirtumą nuo įrašo sukūrimo iki dabartinės datos.
Sukurkite apskaičiuotąjį lauką pavadinimu "Apskaičiuotas dienų skirtumas":
Pateikite dienų skirtumo apskaičiavimo formulę
Apskritai:
Apskaičiuotojo lauko funkcijų sintaksė
Šioje lentelėje pateikiama informacija apie funkcijų, pateiktų apskaičiuotojo lauko skyriuje ACTION , sintaksę.
Arbatpinigiai
Funkcijų pavadinimai nurodomi didžiosiomis raidėmis.
Funkcijos sintaksė | Aprašas | Pateikimo tipas |
---|---|---|
ADDDAYS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, pridėjus nustatytą dienų skaičių. | Data ir laikas |
ADDHOURS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, pridėjus nustatytą valandų skaičių. | Data ir laikas |
ADDMONTHS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, pridėjus nustatytą mėnesių skaičių. | Data ir laikas |
ADDWEEKS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, pridėjus nustatytą savaičių skaičių. | Data ir laikas |
ADDYEARS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, pridėjus nustatytą metų skaičių. | Data ir laikas |
SUBTRACTDAYS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, atėmus nustatytą dienų skaičių. | Data ir laikas |
SUBTRACTHOURS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, atėmus nustatytą valandų skaičių. | Data ir laikas |
SUBTRACTMONTHS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, atėmus nustatytą mėnesių skaičių. | Data ir laikas |
SUBTRACTWEEKS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, atėmus nustatytą savaičių skaičių. | Data ir laikas |
SUBTRACTYEARS( sveikasis skaičius, data ir laikas) | Pateikiami nauja data ir laikas, kurie yra lygūs nurodytai datai ir laikui, atėmus nustatytą metų skaičių. | Data ir laikas |
DIFFINDAYS( data ir laikas, data ir laikas) | Grąžina dienų skirtumą tarp dviejų datos ir laiko laukų. Jei abi datos ir abu laikai yra tą pačią dieną, skirtumas yra nulis. | Sveikasis skaičius |
DIFFINHOURS( data ir laikas, data ir laikas) | Grąžina valandų skirtumą tarp dviejų datos ir laiko laukų. | Sveikasis skaičius |
DIFFINMINUTES( data ir laikas, data ir laikas) | Grąžina minučių skirtumą tarp dviejų datos ir laiko laukų. | Sveikasis skaičius |
DIFFINMONTHS( data ir laikas, data ir laikas) | Grąžina mėnesių skirtumą tarp dviejų datos ir laiko laukų. Jei abi datos ir abu laikai yra tą patį mėnesį, skirtumas yra nulis. | Sveikasis skaičius |
DIFFINWEEKS( data ir laikas, data ir laikas) | Grąžina savaičių skirtumą tarp dviejų datos ir laiko laukų. Jei abi datos ir abu laikai yra tą pačią savaitę, skirtumas yra nulis. | Sveikasis skaičius |
DIFFINYEARS( data ir laikas, data ir laikas) | Grąžina metų skirtumą tarp dviejų datos ir laiko laukų. Jei abi datos ir abu laikai yra tais pačiais metais, skirtumas yra nulis. | Sveikasis skaičius |
CONCAT( viena teksto eilutė, viena teksto eilutė, ... viena teksto eilutė) | Pateikiama eilutė, gaunama sujungus dvi ar daugiau eilučių. | Eilutė |
TRIMLEFT( viena teksto eilutė, sveikasis skaičius) | Pateikiama eilutė, kurioje yra nurodytų eilučių kopija be pirmųjų N simbolių. | Eilutė |
TRIMRIGHT( viena teksto eilutė, sveikasis skaičius) | Pateikiama eilutė, kurioje yra nurodytų eilučių kopija be paskutinių N simbolių. | String |
Pastaba.
Visos DIFF funkcijos reikalauja, kad pirmasis datos ir laiko laukas ir antrasis datos ir laiko laukas veiktų vienodai: vartotojas vietinis, tik data arba nepriklausomas nuo laiko juostos. Jei antrojo lauko veikimo būdas nesutampa su pirmojo lauko veikimo būdu, rodomas klaidos pranešimas, nurodantis, kad antrojo lauko negalima naudoti dabartinėje funkcijoje. Daugiau informacijos: Lauko Data ir laikas veikimas ir formatas.
Pastaba.
Apskaičiuotajame lauke kaip datos reikšmės negalima įvesti datos, pvz., 2015 01 01. Datos ir DateTime reikšmes galima nustatyti arba palyginti tik naudojant kitus DateTime laukus.
Funkcijoje CONCAT galite naudoti pažodines eilutes kaip atskiras teksto eilutes, objekto laukus, kuriuose yra viena teksto eilutė arba jų derinys. Pavyzdžiui: CONCAT( Vardas, pavardė, "yra vadybininkas."). Jei raidinėje eilutėje yra kabučių, prieš kiekvieną kabutę padėkite kairinį brūkšnį (\), kuris veiks kaip kaitos simbolis, pvz.: Šioje eilutėje yra \„kabutės.\“. Taip užtikrinama, kad eilutėje esančios kabutės nelaikomos specialiaisiais simboliais, atskiriančiais eilutes.
Šie pavyzdžiai rodo, kaip naudoti funkcijas TRIMLEFT ir TRIMRIGHT . Juose yra pradinės eilutės ir gautos eilutės, kurias grąžina funkcijos TRIMLEFT ir TRIMRIGHT :
TRIMLEFT( "RXX10-3456789", 3), grąžina eilutę "10-3456789"
TRIMRIGHT( "20-3456789RXX", 3), grąžina eilutę "20-3456789"
Ką reikia apsvarstyti dirbant su apskaičiuotaisiais laukais
Dirbdami su apskaičiuotaisiais laukais turite atsižvelgti į tam tikras sąlygas ir apribojimus.
Įrašytose užklausose, diagramose ir vizualizacijose gali būti daugiausia 10 unikalių apskaičiuotųjų laukų.
Apskaičiuotųjų laukų reikšmės nerodomos "Customer Engagement Outlook Offline" režimu išklotinių dalių rodiniuose arba pagrindinėse objekto formose.
Maksimalus sujungtų apskaičiuotųjų laukų skaičius yra 5.
Apskaičiuotasis laukas negali nurodyti į save arba turėti ciklinių grandinių.
Jei pakeisite vieną iš sąlygos operatorių kelių sąlygų sakinyje, visi sąlygos operatoriai bus atnaujinti pagal tą sąlygą. Pavyzdžiui, sąlygoje
IF (x > 50) OR (y ==10) OR (z < 5)
, jei pakeisiteOR
operatorių įAND
operatorių, tada visiOR
sąlygoje esantys operatoriai tapsAND
operatoriais.Pirminius laukus galite pasiekti naudodami peržvalgos lauką pirminis objektui, pvz.,
<LookupFieldName>.<FieldName>
. Tai neįmanoma naudojant kelių objektų peržvalgos laukus, pvz.,Customer
kurie gali būtiAccount
arbaContact
. Tačiau kai kurie objektai turi atskirus konkretaus objekto peržvalgos laukus, pvz.,ParentAccountid.<FieldName>
arbaParentContactid.<FieldName>
.Rikiavimas išjungtas:
Apskaičiuotajame lauke, kuriame yra laukas iš pirminio įrašo.
Apskaičiuotajame lauke, kuriame yra loginis laukas (pvz., adreso laukas).
Apskaičiuotajame lauke, kuriame yra kitas apskaičiuotasis laukas.
Apskaičiuotieji laukai gali apimti tik du objektus.
Apskaičiuotajame lauke gali būti laukas iš kito objekto (apimami du objektai – dabartinis objektas ir pirminis įrašas).
Apskaičiuotajame lauke negali būti apskaičiuotojo lauko iš kito objekto, kuriame taip pat yra kitas laukas iš kito objekto (apimami trys objektai):
(Dabartinis objektas) Apskaičiuotasis laukas <- (Pirminis įrašas) 1 apskaičiuotasis laukas <- (Pirminis įrašas) 2 apskaičiuotasis laukas.
Apskaičiuotuosiuose laukuose negalite suaktyvinti darbo eigų arba priedų.
Negalite pakeisti esamo paprasto lauko į apskaičiuotąjį lauką. Jei jūsų dabartinė programa naudoja „JavaScript“ arba priedus, kad apskaičiuotų lauką, negalėsite naudoti apskaičiuotųjų laukų funkcijos nesukūrę naujo lauko.
Dublikatų aptikimo taisyklės apskaičiuotuose laukuose negali būti suaktyvintos.
Apibendrinamoji reikšmė negali nurodyti apskaičiuotojo lauko, kuris naudoja kitą apskaičiuotąjį lauką, net jei visi kito apskaičiuotojo lauko laukai yra dabartiniame objekte.
Taip pat žr.
Laukų kūrimas ir redagavimas
Specifinių laukų apibrėžimas
Vaizdo įrašas: sumuojami ir apskaičiuotieji laukai Dynamics CRM 2015