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:
Otwórz Eksplorator rozwiązań
Rozwiń Składniki>Encje.
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
iOR
.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”:
Ustawienie warunku dla szans sprzedaży:
Podanie formuły dla ważonego przychodu:
Razem:
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”:
Ustawienie dwóch warunków dla źródłowego potencjalnego klienta:
Podanie formuły do wykonania kolejnych czynności za tydzień:
Podanie formuły do wykonania kolejnych czynności za miesiąc:
Razem:
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":
Podaj wzór na obliczenie różnicy w dniach
Razem:
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 operatorOR
na operatorAND
, wszystkie operatoryOR
w klauzuli staną się operatoramiAND
.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 jakCustomer
które mogą byćAccount
lubContact
. Jednak niektóre encje mają osobne pola odnośników dla określonej encji, takie jakParentAccountid.<FieldName>
lubParentContactid.<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