Utwórz pole obliczane w celu zautomatyzowania ręcznych obliczeń

Ten temat dotyczy platformy Dynamics 365 Customer Engagement (on-premises). Aby zapoznać się z wersją tego tematu dotyczącą usługi Power Apps, zobacz: Definiowanie pól obliczanych w celu zautomatyzowania ręcznych obliczeń

Pola obliczane umożliwiają automatyzację ręcznych obliczeń wykorzystywanych w procesach biznesowych. Na przykład sprzedawca może chcieć znać ważony przychód z szansy sprzedaży, który jest oparty na szacowanym przychodzie z szansy sprzedaży pomnożonym przez prawdopodobieństwo. Lub może chcieć automatycznie zastosować zniżkę, jeśli zamówienie jest większe od 500 zł. Pole obliczane może zawierać wartości wynikające z prostych operacji matematycznych lub z operacji warunkowych, takich jak większe-niż, jeśli-w przeciwnym razie i wielu innych. Wszystko to można wykonać za pomocą funkcji pola obliczane, bez konieczności pisania kodu.

Możliwości pola obliczanego:

  • Pola obliczane składają się z obliczeń, które używają pól z bieżącej encji lub pokrewnych encji nadrzędnych.

  • Obsługa wyrażeń jest dostępna dla bieżącej encji oraz pól pokrewnej encji nadrzędnej w sekcjach Warunek i Akcja. Wbudowane funkcje obejmują:

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

  • Rozbudowana obsługa warunkowości zapewnia rozgałęzianie i możliwość używania wielu warunków. Operacje logiczne obejmują operatory AND i OR.

  • Funkcje edycji wizualnej obejmują nowoczesny interfejs użytkownika i technologię intellisense w sekcji AKCJA.

  • Płynna integracja pól obliczanych z formularzami, widokami, wykresami i raportami jest dostępna w czasie rzeczywistym.

  • Jeśli zaktualizowano organizację do grudnia 2016 roku Dynamics 365 (online), można skonfigurować pola obliczeniowe do używania formantów niestandardowych.

Kilka przykładów pól obliczanych

  • Ważony przychód: szacowany przychód pomnożony przez prawdopodobieństwo

  • Wartość netto: aktywa minus pasywa dla danego klienta

  • Koszty pracy: stawka podstawowa do 40 godzin, plus dodatkowe wynagrodzenie za nadgodziny

  • Numer kontaktowy: numer telefonu szansy sprzedaży na podstawie danych od klienta lub kontaktu

  • Wynik potencjalnego klienta: pojedyncze pole, które zapewnia wgląd w jakość danego potencjalnego klienta

  • Kolejne czynności po: kolejne czynności po działaniach po określonej liczbie dni na podstawie priorytetu

Ważne

Aby utworzyć pole obliczane, trzeba mieć uprawnienie do zapisu wobec encji Profil zabezpieczeń pola. Jeśli pole obliczane używa w obliczeniach zabezpieczonych pól, należy rozważyć zabezpieczenie również pola obliczanego, aby uniemożliwić użytkownikom dostęp do danych, dla których nie mają wystarczających uprawnień. Edytor pól obliczanych wyświetla ostrzeżenie, jeśli tworzysz pole obliczane, które używa zabezpieczonych pól w obliczeniach, sugerując zabezpieczenie pola obliczanego. Więcej informacji: Zabezpieczenia na poziomie pola.

Przykłady pól obliczanych

Spójrzmy dokładniej na przykłady pola obliczanego. Zdefiniujemy pola obliczane za pomocą Edytora pól. Aby otworzyć Edytor pola:

  1. Otwórz Eksplorator rozwiązań

  2. Rozwiń Składniki>Encje.

  3. Zaznacz żądaną encję i wybierz opcję Pola. Wybierz opcję Nowy.

    W edytorze podaj wymagane informacje dla pola, łącznie z informacjami Typ pola i Typ danych. Ustawienie Typ pola ma wartość Obliczane. Typy danych dostępne dla pola obliczanego:

  • Jeden wiersz tekstu

  • Zestaw opcji

  • Dwie opcje

  • Liczba całkowita

  • Liczba dziesiętna

  • Waluta

  • Data i godzina

    Przycisk Edytuj obok opcji Typ pola umożliwia przejście do edytora definicji pola obliczanego, jeśli nowe obliczane zostało utworzone, ale nie ustawiono jeszcze formuły. Definicja pola obliczanego składa się z dwóch sekcji: WARUNEK i AKCJA.

  • W sekcji Warunek można określić encję, pole, operator, typ i wartość. W polu listy rozwijanej Encja możesz wybrać bieżąca encję lub pokrewną encję. W polu listy rozwijanej Pole możesz wybierać spośród wszystkich dostępnych pól dla encji. Zależnie od wybranego operatora może być konieczne podanie typu i wartości. Można określić wiele warunków za pomocą operatorów AND i OR.

  • W sekcji Akcja należy podać formułę dla pola obliczanego.

Uwaga

Możesz wykorzystać dane z rekordów wyszukiwania w Akcji. Najpierw musisz wybrać pole Wyszukiwanie, a następnie wpisać okres. Gdy już to zrobisz, będziesz mógł wybrać jedno z dostępnych na encji pokrewnej pól. Na przykład w przypadku <LookupFieldName>.<RelatedFieldName> możesz wybrać: ParentAccountId.AccountNumber.

Zauważ, że zabezpieczenia na poziomie pola zostaną zignorowane dla encji pokrewnej, zatem, jeśli w polu znajdują się informacje poufne, sugerujemy również zabezpieczenie pola obliczanego.

Ważony przychód z szansy sprzedaży

W tym przykładzie użyto pól encji szansy sprzedaży do obliczania ważonego przychodu w oparciu o prawdopodobieństwo skutecznego zrealizowania szansy sprzedaży. W edytorze pól encji szansy sprzedaży tworzymy pole o nazwie „Ważony przychód” i określamy mu typ pola Obliczane oraz typ danych Waluta. W edytorze definicji pola obliczanego w sekcji Warunek określamy szansę sprzedaży z ustawieniem Status = Otwarty. W sekcji AKCJA formuła oblicza ważony przychód w oparciu o szacowany przychód z szansy sprzedaży pomnożony przez prawdopodobieństwo zrealizowania szansy sprzedaży. Poniższe zrzuty ekranu przedstawiają krok po kroku metodę definiowania pola obliczanego Ważony przychód.

Utworzenie pola obliczanego o nazwie „Ważony przychód”:

Ważony przychód z szansy sprzedaży w Dynamics 365 for Customer Engagement.

Ustawienie warunku dla szans sprzedaży:

Określ ważony przychód w Dynamics 365 for Customer Engagement.

Podanie formuły dla ważonego przychodu:

Określ wartość szacunkową ważonego przychodu w Dynamics 365 for Customer Engagement.

Razem:

Przychód ważony a przychód szacunkowy w Dynamics 365 for Customer Engagement.

Data kolejnych czynności na szansie sprzedaży

W tym przykładzie użyto pól źródłowego potencjalnego klienta szansy sprzedaży, aby obliczyć odpowiednią datę, gdy trzeba wykonać kolejne czynności związane z szansą sprzedaży. W edytorze pól encji szansy sprzedaży tworzymy pole o nazwie „Data kolejnych czynności” i określamy mu typ Obliczane oraz typ danych Data i godzina. W edytorze definicji pola obliczanego w sekcji Warunek określimy dwa warunki: horyzont czasowy zakupu i wartość szacunkową potencjalnego klienta. W sekcji AKCJA podajemy dwie formuły: jedną do wykonania kolejnych czynności za tydzień dla natychmiastowej szansy sprzedaży i jedną do wykonania za miesiąc, jeśli nie jest prawdopodobne, że szansa sprzedaży wydarzy się od razu. Poniższe zrzuty ekranu przedstawiają krok po kroku metodę definiowania pola obliczanego „Data kolejnych czynności”.

Utworzenie pola obliczanego o nazwie „Data kolejnych czynności”:

Tworzenie pola obliczanego o nazwie Data kolejnych czynności.

Ustawienie dwóch warunków dla źródłowego potencjalnego klienta:

Ustaw pierwszy warunek dla pola obliczanego.

Ustaw drugi warunek dla pola obliczanego.

Podanie formuły do wykonania kolejnych czynności za tydzień:

Podaj formułę dla pola obliczanego.

Podanie formuły do wykonania kolejnych czynności za miesiąc:

Podaj drugą formułę.

Razem:

Określ Data działania uzupełniającego Jeżeli-To-Inaczej w Dynamics 365 for Customer Engagement.

Dni od utworzenia rekordu

W tym przykładzie używamy funkcji DIFFINDAYS, aby obliczyć różnicę w dniach od momentu utworzenia rekordu do bieżącej daty.

Utwórz pole obliczane o nazwie "Obliczona różnica w dniach":

Utwórz pole obliczeniowe w Dynamics 365 for Customer Engagement.

Podaj wzór na obliczenie różnicy w dniach

Pole obliczeniowe, funkcja DIFFINDAYS.

Razem:

Różnica w dniach od czasu utworzenia rekordu.

Składnia funkcji pole obliczeniowe

Poniższa tabela zawiera informacje o składni funkcji przewidzianych w sekcji AKCJA pola obliczeniowego.

Napiwek

Nazwy funkcji są podane wielkimi literami.

Składnia funkcji Opis Typ Zwrot
ADDDAYS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie, a także określoną liczbę dni. Data i godzina
ADDHOURS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie, a także określoną liczbę godzin. Data i godzina
ADDMONTHS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie, a także określoną liczbę miesięcy. Data i godzina
ADDWEEKS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie, a także określoną liczbę tygodni. Data i godzina
ADDYEARS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie, a także określoną liczbę lat. Data i godzina
SUBTRACTDAYS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie minus określona liczba dni. Data i godzina
SUBTRACTHOURS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie minus określona liczba godzin. Data i godzina
SUBTRACTMONTHS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie minus określona liczba miesięcy. Data i godzina
SUBTRACTWEEKS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie minus określona liczba tygodni. Data i godzina
SUBTRACTYEARS (liczba całkowita, data i godzina) Zwraca nową datę i godzinę, która jest równa danej dacie i godzinie minus określona liczba lat. Data i godzina
DIFFINDAYS (data i godzina, data i godzina) Zwraca różnicę w dniach między dwoma polami Data i godzina. Jeśli obie daty i godziny przypadają w tym samym dniu, różnica wynosi zero. Liczba całkowita
DIFFINHOURS (data i godzina, data i godzina) Zwraca różnicę w godzinach między dwoma polami Data i godzina. Liczba całkowita
DIFFINMINUTES (data i godzina, data i godzina) Zwraca różnicę w minutach między dwoma polami Data i godzina. Liczba całkowita
DIFFINMONTHS (data i godzina, data i godzina) Zwraca różnicę w miesiącach między dwoma polami Data i godzina. Jeśli obie daty i godziny przypadają w tym samym miesiącu, różnica wynosi zero. Liczba całkowita
DIFFINWEEKS (data i godzina, data i godzina) Zwraca różnicę w tygodniach między dwoma polami Data i godzina. Jeśli obie daty i godziny przypadają w tym samym tygodniu, różnica wynosi zero. Liczba całkowita
DIFFINYEARS (data i godzina, data i godzina) Zwraca różnicę w godzinach latach dwoma polami Data i godzina. Jeśli obie daty i godziny przypadają w tym samym roku, różnica wynosi zero. Liczba całkowita
CONCAT (pojedynczy wiersz tekstu, pojedynczy wiersz tekstu, … pojedynczy wiersz tekstu) Zwraca ciąg, który jest wynikiem połączenia dwóch lub kilku ciągów. Ciąg
TRIMLEFT (pojedynczy wiersz tekstu, liczba całkowita) Zwraca ciąg zawierający kopię określonego ciągu bez pierwszych n znaków. Ciąg
TRIMRIGHT (pojedynczy wiersz tekstu, liczba całkowita) Zwraca ciąg zawierający kopię określonego ciągu bez ostatnich n znaków. String

Uwaga

Wszystkie funkcje DIFF wymagają, aby pierwsze pole Data i godzina oraz drugie pole Data i godzina miały takie samo zachowanie: Użytkownik lokalny, Tylko data lub Niezależny od strefy czasowej. Jeśli zachowanie drugiego pola nie odpowiada zachowaniu pierwszego pola, wyświetlany jest komunikat o błędzie mówiący o tym, że drugiego pola nie można użyć w bieżącej funkcji. Więcej informacji: Zachowanie i format pola Data i godzina.

Uwaga

Nie możesz wprowadzić daty, na przykład 01/01/2015 r., jako wartości daty w polu obliczeniowym. Wartości Data i Data/Godzina mogą być ustawiane lub porównywane za pomocą innych pól typu Data/Godzina.

W funkcji CONCAT można użyć ciągów tekstowych jako pojedynczych wierszy tekstu, pól encji, które zawierają pojedynczy wiersz tekstu, lub kombinację obu. Na przykład: CONCAT (imię, nazwisko, „jest menedżerem."). Jeśli ciąg tekstowy zawiera znaki cudzysłowu, należy poprzedzić każdy znak znakiem ucieczki kreski ułamkowej odwróconej (\), np: „Ten ciąg zawiera \„cudzysłowy. \„" Zagwarantuje to, że znajdujące się wewnątrz ciągu znaki cudzysłowu nie zostaną potraktowane jako znaki specjalne oddzielające ciągi.

Następujące przykłady przedstawiają metody korzystania z funkcji TRIMLEFT i TRIMRIGHT. Zawierają one ciągi początkowe i ciągi wynikowe, zwracane przez funkcje TRIMLEFT i TRIMRIGHT:

TRIMLEFT (“RXX10-3456789”, 3), zwraca ciąg “10-3456789”
TRIMRIGHT (“20-3456789RXX”, 3), zwraca ciąg “20-3456789”

Uwagi dotyczące pól obliczanych

Podczas pracy z polami obliczanymi należy pamiętać o pewnych warunkach i ograniczeniach:

  • Zapisane zapytania, wykresy i wizualizacje mogą mieć maksymalnie 10 unikatowych pól obliczanych.

  • Wartości pola obliczanego nie są wyświetlane w trybie Customer Engagement Offline klienta Outlook w widokach kafelków, lub na głównych formularzach encji.

  • Maksymalna liczba pól obliczanych połączonych w łańcuch wynosi 5.

  • Pole obliczane nie może odwoływać się do siebie samego ani mieć łańcuchów cyklicznych.

  • Jeśli zmienisz jeden z operatorów warunku w klauzuli z wieloma warunkami, wszystkie operatory warunków zaktualizują się do tego warunku. Na przykład w klauzuli IF (x > 50) OR (y ==10) OR (z < 5), jeśli zmienisz operator OR na operator AND, wszystkie operatory OR w klauzuli staną się operatorami AND.

  • Dostęp do pól nadrzędnych można uzyskać za pomocą pola odnośnika do encji nadrzędnej, np. <LookupFieldName>.<FieldName>. Nie jest to możliwe z polami odnośników o wielu encjach, takimi jak Customer które mogą być Account lub Contact. Jednak niektóre encje mają osobne pola odnośników dla określonej encji, takie jak ParentAccountid.<FieldName> lub ParentContactid.<FieldName>.

  • Sortowanie jest wyłączone dla:

    • Pola obliczanego, które zawiera pole rekordu nadrzędnego.

    • Pole obliczane zawierające pole logiczne (na przykład pole adresu)

    • Pole obliczane zawierające inne pole obliczane.

  • Pola obliczane mogą obejmować tylko dwie encje.

    • Pole obliczane może zawierać pole z innej encji (obejmuje wtedy dwie encje — bieżącą encję i rekord nadrzędny).

    • Pole obliczane nie może zawierać pola obliczanego z innej encji, zawierającego inne pole z innej encji (obejmujące trzy obiekty):
      (Bieżąca encja)Pole obliczane <- (Rekord nadrzędny) Pole obliczane 1 <- (Rekord nadrzędny) Pole obliczane 2.

  • Na polach obliczanych nie można wyzwalać przepływów pracy ani wtyczek.

  • Nie można zmienić istniejącego pola prostego na pole obliczane. Jeśli bieżąca aplikacja korzysta z języka JavaScript lub wtyczek do obliczania pola, nie będzie można korzystać z funkcji pól obliczanych bez utworzenia nowego pola.

  • Reguły wykrywania duplikatów nie są wyzwalane na polach obliczanych.

  • Zestawienie nie może się odwoływać do pola obliczanego, które używa innego pola obliczanego, nawet jeśli wszystkie pola innego pola obliczanego znajdują się w encji bieżącej.

Zobacz także

Tworzenie i edytowanie pól
Definiowanie pól zestawień
Wideo: Zestawienie i pola obliczane w Dynamics CRM 2015