Bendrinti naudojant


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ų pirminio 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ę:

  1. Atidarykite sprendimų naršyklę

  2. Išplėskite komponentų>objektus.

  3. 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 or OR 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":

Svertinės galimybės pajamos

Nustatykite galimybių sąlygą:

Nustatykite svertines pajamas

Pateikite svertinių pajamų formulę:

Nustatykite numatomą svertinių pajamų vertę

Apskritai:

Svertinės pajamos iki est. pajamos naudojant

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ę. VEIKSME pateikiame dvi formules: vieną, į kitas per vieną savaitę dėl tiesioginės galimybės, kitą, į 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":

Sukurkite apskaičiuotąjį lauką, pavadintą kitas data.

Nustatykite dvi sąlygas pradiniam švinui:

Nustatykite pirmąją apskaičiuotojo lauko sąlygą.

Nustatykite antrąją apskaičiuotojo lauko sąlygą.

Pateikite formulę kitas per vieną savaitę:

Pateikite apskaičiuotojo lauko formulę.

Pateikite formulę kitas per vieną mėnesį:

Pateikite antrąją formulę.

Apskritai:

Nustatykite kitas datą If-Then &; else programoje

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":

Sukurkite apskaičiuotąjį lauką

Pateikite dienų skirtumo apskaičiavimo formulę

Apskaičiuotasis laukas, funkcija DIFFINDAYS.

Apskritai:

Dienų skirtumas nuo įrašų sukūrimo.

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 , tikdata arba nepriklausomas nuo laikojuostos. 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, jei pakeisite IF (x > 50) OR (y ==10) OR (z < 5)operatorių į OR operatorių, tada visi AND sąlygoje OR esantys operatoriai taps AND operatoriais.

  • Pirminius laukus galite pasiekti naudodami peržvalgos lauką pirminiam objektui, pvz. <LookupFieldName>.<FieldName> Tai neįmanoma naudojant kelių objektų peržvalgos laukus, pvz., Customer kurie gali būti Account arba Contact. Tačiau kai kurie objektai turi atskirus konkretaus objekto peržvalgos laukus, pvz., ParentAccountid.<FieldName> arba ParentContactid.<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