Skapa ett beräknat fält för att automatisera manuella beräkningar

Det här ämnet gäller för Dynamics 365 Customer Engagement (on-premises). En Power Apps-version för det här ämnet finns i: Definiera beräknade fält för att automatisera manuella beräkningar

Beräknade fält låter dig automatisera manuella beräkningar som används i affärsprocesserna. En säljare kanske till exempel vill veta den viktade intäkten för en affärsmöjlighet, som baseras på den beräknade intäkten från en affärsmöjlighet multiplicerat med sannolikheten. Eller de vill automatiskt använda en rabatt om en order är större än 500 kr. Ett beräknat fält kan innehålla värden från många enkla beräkningar, eller villkorssatser, till exempel "större än" eller If-Else och många fler. Du kan göra allt detta med hjälp av funktionen för beräknade fält: du behöver inte skriva kod.

Funktionerna för beräknade fält:

  • Beräknade fält består av beräkningar som använder fälten i den aktuella entiteten eller relaterade överordnade entiteter.

  • Supporten för uttryck är tillgänglig för den aktuella entiteten och relaterade överordnade entitetsfält i avsnitten Villkor och Åtgärder. Inbyggda funktioner omfattar:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT och TRIMRIGHT.

  • En rik villkorsstyrd support ger grenar och flera villkor. Logiska operationer omfattar AND- och OR-operatörer.

  • Visuella redigeringsfunktioner inkluderar moderna gränssnitt och intellisense i avsnittet ACTION.

  • En sömlös integrering av beräknade fält med formulär, vyer, diagram och rapporter finns i realtid.

  • Om du har uppdaterat din Online-organisation till uppdateringen för Dynamics 365 (online) för december 2016 kan du konfigurera beräknade fält så att dessa använder anpassade kontroller.

Några exempel på beräknade fält

  • Viktad intäkt: Beräknad omsättning multiplicerat med sannolikheten

  • Nettovärde: Tillgångar subtraherade med skulder för ett visst konto

  • Kostnad för arbete: Basersättning upp till 40 timmar, plus ytterligare övertid

  • Kontaktnummer: Telefonnummer för en affärsmöjlighet utifrån konto eller en kontaktperson

  • Leadbedömning: Enskilt fält som ger insikter om kvaliteten på ett visst lead

  • Uppföljning av: Uppföljning av en aktivitet efter ett angivet antal dagar baserat på prioritet

Viktigt!

För att skapa ett beräknat fält måste du ha skrivprivilegium på entiteten Fältsäkerhetsprofil. Om det beräknade fältet använder skyddade fält i en beräkning bör du skydda det beräknade fältet också för att förhindra att användare kommer åt data som de inte har tillräcklig behörighet till. Om du skapar ett beräknat fält som använder skyddade fält i en beräkning ger redigeraren för beräknade fält dig en varning och föreslår att du skyddar det beräknade fältet. Mer information: Säkerhet på fältnivå.

Exempel på beräknade fält

Låt oss ta en närmare titt på några exempel på beräknade fält. Vi ska definiera beräknade fält med fältredigeraren. Så här öppnar du fältredigeraren:

  1. Öppna lösningsutforskaren

  2. Expandera Komponenter>Entiteter.

  3. Välj önskad entitet och välj Fält. Välj Ny.

    Ange nödvändig information för fältet i redigeraren, inklusive Fälttyp och Datatyp. Fälttypen är Beräknat. Tillgängliga datatyper för det beräknade fältet:

  • Enkel textrad

  • Alternativuppsättning

  • Två alternativ

  • Heltal

  • Decimaltal

  • Valuta

  • Datum och tid

    Knappen Redigera bredvid Fälttyp tar dig till definitionsredigeraren för beräknat fält, där det nya beräknade fältet har skapats men ingen formel har angetts. Definitionen för beräknat fält består av två delar: CONDITION och ACTION.

  • I avsnittet Villkor kan du ange entitet, fält, operator, typ och värde. I listrutan för entiteten kan du välja aktuell entitet eller en relaterad entitet. I listrutan Fält har du ett urval av alla tillgängliga fält för entiteten. Du kan behöva ange typ och värde beroende på vilken operator som du väljer. Du kan ange flera villkor med operatörerna AND och OR.

  • I avsnittet Åtgärd anger du formeln för det beräknade fältet.

Kommentar

Du kan använda data från uppslagsposter i din Åtgärd. Du måste först markera uppslagsfältet och sedan ange en period. Sedan kan du välja ett av de fält som finns tillgängliga för den relaterade entiteten. I fallet med <LookupFieldName>.<RelatedFieldName> kan du till exmepel välja: ParentAccountId.AccountNumber.

Observera att säkerhet på fältnivå ignoreras för den relaterade entiteten, så om det finns känsliga data i fältet som används föreslår vi att du även skyddar det beräknade fältet.

Viktad intäkt för affärsmöjlighet

I det här exemplet använder du fälten för entiteten affärsmöjlighet för att beräkna viktad intäkt baserad på affärsmöjlighetens sannolikhet. I fältredigeraren för en entitet affärsmöjlighet skapar vi ett fält med namnet "Viktad intäkt" och anger typ av fält som Beräknat och datatypen är Valuta. I definitionsredigeraren för beräknade fält, i avsnittet Villkor anger vi affärsmöjligheten med Status = Öppen. I ACTION beräknar formeln viktad intäkt baserat på den beräknade omsättningen för affärsmöjligheten multiplicerat med sannolikheten för affärsmöjligheten. Följande skärmbilder visar steg för steg hur du definierar det beräknade fältet Viktad intäkt.

Skapa det beräknade fältet "Viktad intäkt":

Vägd omsättning för affärsmöjlighet i Dynamics 365 for Customer Engagement.

Ange villkoret för affärsmöjligheterna:

Ställ in vägd omsättning i Dynamics 365 for Customer Engagement.

Ange formeln för viktad omsättning:

Ställ in vägd omsättning för beräknat värde i Dynamics 365 for Customer Engagement.

Tillsammans:

Ställ in vägd omsättning till beräknat värde i Dynamics 365 for Customer Engagement.

Uppföljningsdatum för affärsmöjlighet

I det här exemplet använder du fälten för det lead som gav upphov till en affärsmöjlighet för att beräkna rätt datum när du ska följa upp affärsmöjligheten. I fältredigeraren för en entitet affärsmöjlighet skapar vi ett fält med namnet "Uppföljningsdatum" och anger typ av fält som Beräknat och datatypen är Datum och tid. I definitionsredigeraren för beräknade fält, i avsnittet Villkor anger vi två villkor: tidsram för inköp och det uppskattade värdet av ett lead. I ACTION anger vi två formler, först att följa upp den omedelbara affärsmöjligheten om en vecka, och sedan att följa upp om en månad om affärsmöjligheten inte sannolikt sker direkt. Följande skärmbilder visar steg för steg hur du definierar det beräknade fältet "Uppföljningsdatum".

Skapa det beräknade fältet "Uppföljningsdatum":

Skapa det beräknade fältet Uppföljningsdatum.

Ange två villkor för ursprungligt lead:

Ange beräknat fält för det första villkoret.

Ange beräknat fält för det andra villkoret.

Ange formeln för uppföljning om en vecka:

Ange formeln för beräknat fält.

Ange formeln för uppföljning om en månad:

Ange den andra formeln.

Tillsammans:

Ställ in uppföljningsdatum If-Then och Else i Dynamics 365 for Customer Engagement.

Dagar från det att en post skapas

I det här exemplet använder vi funktionen DIFFINDAYS för att beräkna skillnaden i dagar från den tidpunkt då en post skapades till det aktuella datumet.

Skapa ett beräknat fält med namnet Beräknad differens i dagar:

Skapa beräknat fält i Dynamics 365 for Customer Engagement.

Ange formeln för att beräkna skillnaden i dagar

Beräknade fält, DIFFINDAYS-funktion.

Tillsammans:

Skillnaden i dagar sedan posten skapades.

Syntax för funktioner i beräknat fält

Följande tabell innehåller information om syntaxen för de funktioner som finns i avsnittet ACTION i det beräknade fältet.

Dricks

Funktionsnamn anges med versaler.

Funktionens syntax Beskrivning Returnerad typ
ADDDAYS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden plus det angivna antalet dagar. Datum och tid
ADDHOURS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden plus det angivna antalet timmar. Datum och tid
ADDMONTHS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden plus det angivna antalet månader. Datum och tid
ADDWEEKS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden plus det angivna antalet veckor. Datum och tid
ADDYEARS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden plus det angivna antalet år. Datum och tid
SUBTRACTDAYS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden minus det angivna antalet dagar. Datum och tid
SUBTRACTHOURS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden minus det angivna antalet timmar. Datum och tid
SUBTRACTMONTHS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden minus det angivna antalet månader. Datum och tid
SUBTRACTWEEKS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden minus det angivna antalet veckor. Datum och tid
SUBTRACTYEARS (heltal, datum och tid) Returnerar ett nytt datum och en tid som är lika med det angivna datumet och tiden minus det angivna antalet år. Datum och tid
DIFFINDAYS (datum och tid, datum och tid) Returnerar skillnaden i dagar mellan två datum och tid-fält. Om båda datumen och tiderna infaller på samma dag är skillnaden noll. Heltal
DIFFINHOURS (datum och tid, datum och tid) Returnerar skillnaden i timmar mellan två datum och tid-fält. Heltal
DIFFINMINUTES (datum och tid, datum och tid) Returnerar skillnaden i minuter mellan två datum och tid-fält. Heltal
DIFFINMONTHS (datum och tid, datum och tid) Returnerar skillnaden i månader mellan två datum och tid-fält. Om båda datumen och tiderna infaller på samma månad är skillnaden noll. Heltal
DIFFINWEEKS (datum och tid, datum och tid) Returnerar skillnaden i veckor mellan två datum och tid-fält. Om båda datumen och tiderna infaller på samma vecka är skillnaden noll. Heltal
DIFFINYEARS (datum och tid, datum och tid) Returnerar skillnaden i år mellan två datum och tid-fält. Om båda datumen och tiderna infaller på samma år är skillnaden noll. Heltal
CONCAT (enskild rad med text, enskild rad med text ... enskild rad med text) Returnerar en sträng som är resultatet av att sammanfoga två eller flera strängar. Sträng
TRIMLEFT (en rad med text, heltal) Returnerar en sträng som innehåller en kopia av en angiven sträng utan de första N tecknen. Sträng
TRIMRIGHT (en rad med text, heltal) Returnerar en sträng som innehåller en kopia av en angiven sträng utan de sista N tecknen. String

Kommentar

Alla DIFF-funktioner kräver att det första datum och tid-fältet och det andra datum och tid-fältet har samma beteende: Användarlokalt, Endast datum eller Tidszonsoberoende. Om beteendet hos det andra fältet inte matchar beteendet i det första fältet visas ett felmeddelande om att det andra fältet inte kan användas i den aktuella funktionen. Mer information: Funktion och format för fälten Datum och Tid

Kommentar

Du kan inte ange ett datum, exempelvis 01/01/2015, som ett datumvärde i ett beräknat fält. Värdena Date och DateTime kan endast anges eller jämföras med andra DateTime-fält.

I funktionen CONCAT kan du använda teckensträngar som enstaka textrader, entitetsfält som innehåller en rad med text eller en kombination av båda. Exempel: CONCAT (FirstName, LastName, "är en chef."). Om en teckensträng innehåller citattecken ska du sätta ett omvänt snedstreck (\) före varje tecken på det här sättet: "Den här strängen innehåller \"citattecknen.\"" Detta säkerställer att citattecknen inuti strängen inte behandlas som särskilda tecken som avgränsar strängarna.

Följande exempel visar hur du använder funktionerna TRIMLEFT och TRIMRIGHT. De innehåller inledande strängar och de resulterande strängar som returneras av funktionerna TRIMLEFT och TRIMRIGHT:

TRIMLEFT ("RXX10-3456789", 3), som returnerar strängen "10 3456789"
TRIMRIGHT ("20-3456789RXX", 3), som returnerar strängen "20 3456789"

Överväganden för beräknade fält

Du bör vara medveten om vissa villkor och begränsningar när du arbetar med beräknade fält:

  • Sparade frågor, diagram och visualiseringar kan ha högst tio unika beräknade fält.

  • Värdena i beräknade fält visas inte i Customer Engagement Outlook Offline-läget i panelvyerna eller i entiteternas huvudformulär.

  • Maximalt antal länkade beräknade fält är fem.

  • Ett beräknat fält kan inte referera till sig själv eller har cykliska kedjor.

  • Om du ändrar någon av villkorsoperatorerna i en sats med flera villkor, uppdateras alla villkorsoperatorer till detta villkor. Om du exempelvis i satsen IF (x > 50) OR (y ==10) OR (z < 5), ändrar operatorn OR till operatorn AND kommer alla OR-operatorer i satsen bli AND-operatorer.

  • Du kan komma åt överordnade fält via uppslagsfältet i den överordnade entiteten, som <LookupFieldName>.<FieldName>. Det är inte möjligt med uppslagsfält för flera entiteter, som Customer som kan vara Account eller Contact. Vissa entiteter har emellertid enskilda sökningsfält för en viss entitet, till exempel ParentAccountid.<FieldName> eller ParentContactid.<FieldName>.

  • Sortering är inaktiverad för:

    • Ett beräknat fält som innehåller ett fält för en överordnad post.

    • Ett beräknat fält som innehåller ett logiskt fält (till exempel adressfältet).

    • Ett beräknat fält som innehåller ett annat beräknat fält.

  • Beräknade fält kan bara sträcka sig över två entiteter.

    • Ett beräknat fält kan innehålla ett fält från en annan entitet (och sträcka sig över två entiteter – aktuell entitet och överordnad post).

    • Ett beräknat fält får inte innehålla ett beräknat fält från en annan entitet som även innehåller ett annat fält från en annan entitet (över tre entiteter):
      (Aktuell entitet)Beräknat fält <-(överordnad post) beräknat fält 1 <-(överordnad post) beräknat fält 2.

  • Du kan inte utlösa arbetsflöden eller plugin-program på beräknade fält.

  • Du kan inte ändra ett befintligt enkelt fält till ett beräknat fält. Om det aktuella programmet använder JavaScript eller plugin-program för att beräkna ett fält, skulle du inte kunna använda funktionen beräknade fält utan att skapa ett nytt fält.

  • Regler för dubblettidentifiering utlöses inte för beräknade fält.

  • En sammanslagning kan inte referera till ett beräknat fält som använder ett annat beräknade fält, även om alla fält i det andra beräknade fältet finns på den aktuella entiteten.

Se även

Skapa och redigera fält
Definiera sammanslagningsfält
Video: Samlade och beräknade fält i Dynamics CRM 2015