HubSpot Baza wiedzy

Tworzenie obliczonych właściwości

Autor: HubSpot Support | Oct 18, 2021 5:03:56 PM

Można tworzyć właściwości, które wypełniają dane na podstawie obliczeń z innych właściwości. Za pomocą obliczonych właściwości można skonfigurować niestandardowe równania oparte na innych właściwościach. Za pomocą właściwości rozwijanych można automatycznie obliczać wartości minimalne, maksymalne, liczniki, sumy lub średnie dla właściwości w powiązanych rekordach.

Na przykład można utworzyć:

  • Właściwość firmy, która oblicza koszt pozyskania nowego klienta na podstawie niestandardowego równania.
  • Właściwość kontaktu, która oblicza średnią Kwotę transakcji powiązanych z kontaktem.

Uwaga: w zależności od subskrypcji HubSpot, istnieje limit liczby obliczonych właściwości, które można utworzyć.

Tworzenie obliczonych właściwości

Obliczone właściwości można skonfigurować na podstawie różnych kryteriów, w tym wartości właściwości powiązanych rekordów, czasu między wartościami dwóch właściwości lub własnych niestandardowych równań. Aby utworzyć właściwość obliczoną lub rozwijaną:

  • W menu na lewym pasku bocznym przejdź do Właściwość.

  • Kliknij menu rozwijane Wybierz obiekt , a następnie wybierz Właściwość [Obiekt] , aby utworzyć właściwość dla tego obiektu.

  • Wprowadź podstawowe szczegóły właściwości, a następnie kliknijkartę Typ pola .
  • Aby utworzyć równanie niestandardowe lub równanie czasu między, wybierz Obliczenia jako typ pola. Kliknij menu rozwijane Obliczona właściwość i wybierz typ formuły, którą chcesz utworzyć:
  • Aby utworzyć właściwość, która oblicza min, maks, liczbę, sumę lub średnią, wybierz Rollup. Kliknij menu rozwijane Rollup type i wybierz typ formuły, którą chcesz utworzyć. Dowiedz się więcej o tworzeniu tego typu właściwości.

Obliczanie wartości na podstawie właściwości powiązanych rekordów

Dla obiektu można utworzyć właściwości, które będą obliczane na podstawie określonych wartości właściwości powiązanych rekordów tego obiektu. Obliczenia można wykonać na podstawie wszystkich rekordów powiązanych z danym obiektem lub dla określonych etykiet asocjacji, w tym asocjacji tego samego obiektu.

Na przykład można utworzyć Właściwość transakcji, która zlicza całkowitą liczbę dzienników aktywności sprzedaży dla kontaktów powiązanych z transakcją z etykietą Decydent .

  • Kliknij menu rozwijane Rollup type i wybierz jeden z poniższych typów:
    • Min: wyświetla minimalną wartość wybranej właściwości liczby we wszystkich rekordach powiązanych z wybranym obiektem.
    • Max: wyświetla maksymalną wartość wybranej właściwości liczby we wszystkich powiązanych rekordach wybranego obiektu.
    • Count: zlicza całkowitą liczbę powiązanych rekordów wybranego obiektu, które mają wartość dla wybranej właściwości number.
    • Sum: sumuje wartości wybranej właściwości number we wszystkich powiązanych rekordach wybranego obiektu.
    • Average: oblicza średnią wartości dla wybranej właściwości number we wszystkich powiązanych rekordach wybranego obiektu.
  • Aby wybrać sposób formatowania wartości właściwości, kliknij menu rozwijane Format liczb, a następnie wybierz jeden z następujących formatów: Liczba sformatowana, Liczba niesformatowana, Waluta, Procent lub Czas trwania.
  • W przypadku wybrania opcji Waluta jako formatu właściwości transakcji, właściwość ta będzie domyślnie używać waluty Właściwość firmy . Aby użyć waluty każdego rekordu transakcji, zaznacz pole wyboru Użyj waluty rekordu zamiast waluty firmy. Użycie waluty rekordu wpływa jedynie na sposób wyświetlania wartości i nie powoduje automatycznego zastosowania kursu wymiany.

  • Wybierz powiązany obiekt i powiązaną właściwość rekordu, na podstawie których ma zostać obliczona właściwość.
  • Aby obliczyć tylko na podstawie rekordów z określoną etykietą, kliknij Wybierz etykiety asocjacji, a następnie wybierz etykiety, które chcesz uwzględnić.
  • Aby dodać dodatkowy warunek, kliknij przycisk Utwórz warunek. Po skonfigurowaniu dodatkowego warunku, warunek ten musi zostać spełniony, aby właściwość została obliczona (np. oblicz właściwość, gdy Recent deal amount > 1000).
    • W pierwszym menu rozwijanym wybierz właściwość.
    • W drugim menu rozwijanym wybierz operator, który porówna wartość pierwszej właściwości z liczbą lub wartością innej właściwości.
    • W trzecim menu rozwijanym wybierz właściwość lub wprowadź liczbę , która zostanie porównana z pierwszą właściwością.
  • Kliknij przycisk Utwórz. Po utworzeniu, wyświetlanym typem pola właściwości będzie Rollup.

Uwaga: nieprzetworzone wartości czasu trwania są przechowywane w milisekundach. Jeśli korzystasz z obliczonej właściwości czasu trwania w innych narzędziach HubSpot (np. filtrach, formułach obliczonej właściwości), może być konieczne użycie wartości milisekundowych.

Obliczanie wartości na podstawie czasu między dwiema właściwościami

Można tworzyć właściwości, które obliczają czas pomiędzy dwoma wybranymi właściwościami datownika w tym samym obiekcie. Na przykład można obliczyć czas między przypisaniem właściciela zgłoszenia a jego zamknięciem. Dowiedz się więcej o sposobie wyświetlania wartości właściwości obliczonej Time Between.

Jeśli próbujesz utworzyć właściwość na podstawie dzisiejszej daty, dowiedz się więcej o tym, jak używać czasu względnego we właściwościach i filtrach.

  • Kliknij menu rozwijane Obliczona właściwość i wybierz Czas pomiędzy.
  • Kliknij menu rozwijane, aby wybrać właściwość Data rozpoczęcia i Data zakończenia.

  • Aby dodać dodatkowy warunek, kliknij przycisk Utwórz warunek. Po skonfigurowaniu dodatkowego warunku, warunek ten musi zostać spełniony, aby właściwość została obliczona (np. oblicz właściwość, gdy Ostatnia kwota transakcji > 1000).
    • W pierwszym menu rozwijanym wybierz właściwość.
    • W drugim menu rozwijanym wybierz operator, który porówna wartość pierwszej właściwości z liczbą lub wartością innej właściwości.
    • W trzecim menu rozwijanym wybierz właściwość lub wprowadź liczbę , która zostanie porównana z pierwszą właściwością.
  • Kliknij przycisk Utwórz. Po utworzeniu, wyświetlanym typem pola właściwości będzie Calculation.

Oczekuje się następującego zachowania podczas wyświetlania wartości czasu między obliczonymi właściwościami:

  • Czas będzie wyświetlany inaczej w różnych narzędziach HubSpot.
  • W przypadku właściwości daty bez znacznika czasu domyślnym czasem używanym w obliczeniach będzie godzina 12:00 UTC dla wybranego dnia.
  • W rekordzie (np. Rekordzie kontaktu) wyświetlana wartość będzie w godzinach, dniach, miesiącach lub latach i zostanie zaokrąglona w górę do następnej jednostki na podstawie określonych progów. Na przykład, jeśli obliczony czas wynosi jeden miesiąc i dwadzieścia dni, wówczas wyświetlaną wartością będzie Jeden miesiąc, ale jeśli obliczony czas wynosi jeden miesiąc i dwadzieścia siedem dni, wówczas wyświetlaną wartości ą będą Dwa miesiące. Progi są następujące:
    • 45 sekund lub więcej zaokrągla do jednej minuty
    • 45 minut lub więcej zaokrągleń do jednej godziny
    • 22 godziny lub więcej zaokrągleń do jednego dnia
    • 26 dni lub więcej rund do jednego miesiąca
    • 11 miesięcy lub więcej rund do jednego roku
  • W raportach niestandardowych, które używają właściwości z tym typem pola, wyświetlana wartość będzie w dniach. Na przykład, jeśli obliczony czas wynosi jeden rok i dwadzieścia dni, wyświetlana wartość będzie wynosić 385 dni.

Uwaga: w HubSpot nieprzetworzone wartości typów właściwości Time between i Average są przechowywane w milisekundach. Jeśli równanie z tymi wartościami daje wyższą wartość niż oczekiwana, użyj konwertera milisekund, aby przekonwertować na żądaną jednostkę czasu.


Obliczanie wartości na podstawie niestandardowego równania

Można również tworzyć właściwości, które obliczają wartości na podstawie własnych kryteriów. Równania niestandardowe można skonfigurować tylko dla właściwości liczbowych w tym samym obiekcie, dla którego tworzona jest nowa właściwość. Na przykład można utworzyć równanie do obliczania kwoty z ostatniej transakcji firmy(Kwotaostatniej transakcji) w porównaniu do tego, ile razy firma kontaktowała się z firmą(Liczba kontaktów).

Równanie niestandardowe można zbudować za pomocą operatorów arytmetycznych, operatorów porównania, operatorów logicznych, instrukcji warunkowych i innych funkcji. Równania te mogą zwracać wartości liczbowe, logiczne, łańcuchowe lub daty. Dowiedz się więcej o dostępnych operatorach i funkcjach oraz sposobach formatowania formuł.

Aby utworzyć niestandardową obliczoną właściwość równania:

  • Kliknij menu rozwijane Obliczona właściwość, a następnie wybierz Równanie niestandardowe.
  • Kliknij menu rozwijane Typ danych wyjściowych, a następnie wybierz typ danych wyjściowych, które zostaną zwrócone w wyniku obliczeń. Można wybrać jedną z następujących opcji: Liczba, Wartość logiczna, Ciąg znaków lub Data.

Uwaga: wybrany typ wyjściowy musi być zgodny z typem wyjściowym wyświetlanym w prawym górnym rogu edytora, w przeciwnym razie nie będzie można utworzyć właściwości. W przypadku właściwości zwracających datę można użyć typu wyjściowego liczby lub daty, który określa sposób wyświetlania wartości (tj. liczba wyświetla datę w milisekundach, data wyświetla sformatowaną datę).

  • Jeśli wybrano typ wyjścia Liczba:
    • Kliknij menu rozwijane Format liczbowy, a następnie wybierz sposób formatowania wartości właściwości. Możesz wybrać jedną z następujących opcji: Sformatowana liczba, Niesformatowana liczba, Waluta, Procent lub Czas trwania.
    • W przypadku wybrania opcji Waluta jako formatu liczbowego dla właściwości transakcji, właściwość ta będzie domyślnie używać waluty Właściwość firmy konta. Aby użyć waluty każdego rekordu transakcji, zaznacz pole wyboru Użyj waluty rekordu zamiast waluty firmy.

Uwaga: użycie waluty rekordu wpływa tylko na sposób wyświetlania wartości i nie powoduje automatycznego zastosowania kursu wymiany. Aby dodać kurs wymiany, można uwzględnić w równaniu funkcje exchange_rate lub dated_exchange_rate.


  • W edytorze można wstawiać, wpisywać lub wklejać funkcje i właściwości w celu utworzenia niestandardowego równania. Dowiedz się więcej o składni równania obliczeń niestandardowych. Aby wstawić elementy formuły:
    • Kliknij menu rozwijane Wstaw.
    • Aby wstawić funkcje do równania, wybierz pozycję Funkcje, a następnie wybierz funkcję.
    • Aby wstawić właściwości do równania, wybierz pozycję Właściwości, , a następnie wybierz właściwość. Równania niestandardowe można tworzyć tylko przy użyciu właściwości tego samego obiektu, dla którego tworzona jest właściwość.

  • Jeśli równanie zawiera błędy, kliknij [x] nad edytorem, aby wyświetlić przyczyny błędów. Jeśli równanie zawiera nierozwiązane błędy, nie będzie można utworzyć właściwości. Dowiedz się więcej o formatowaniu równań.
  • Aby wyświetlić podgląd wyników formuły, kliknij przycisk Testuj formułę.

Uwaga: jeśli którakolwiek z właściwości liczbowych w równaniu niestandardowym nie ma wartości lub ma wartość null, obliczenia nie zostaną uruchomione, a wartość właściwości obliczeniowej będziepusta. Wartość będzie pusta, nawet jeśli w równaniu znajduje się stała liczba. W takiej sytuacji można użyć funkcji if i is_known, aby zamiast tego ustawić wartość na 0.


  • Kliknij przycisk Utwórz. Po utworzeniu, wyświetlanym typem pola właściwości będzie Calculation.

Niestandardowa składnia równań

W edytorze formuł można tworzyć własne niestandardowe równania przy użyciu dosłownych danych, danych z innych właściwości, operatorów i funkcji. Poniżej przedstawiono składnię do pisania niestandardowych równań obliczeniowych i przykłady często używanych formuł.

Dosłowna składnia

Korzystając z danych dosłownych, można dodawać do równań ciągi tekstu, liczby oraz wartości prawdziwe lub fałszywe. Ciągi znaków, liczby, wartości logiczne i stałe daty można formatować na następujące sposoby:

  • String literal: tekst otoczony cudzysłowami. Mogą one być reprezentowane przez pojedyncze cudzysłowy ('constant') lub podwójne cudzysłowy ("constant").

  • Number literal: liczby bez cudzysłowów. Liczby stałe mogą być dowolnymi liczbami rzeczywistymi i mogą zawierać notację punktową. Na przykład, zarówno 1005 jak i 1.5589 są poprawnymi liczbami stałymi.

  • Boolean literal: stałą booleans może być true lub false.

  • Date literal: data w milisekundach. Na przykład 1698508800000.

Składnia Właściwość

Do równania niestandardowego można dołączyć inne właściwości tego samego obiektu. Jeśli właściwość zostanie wstawiona do edytora, zostanie automatycznie sformatowana i zatwierdzona jako część równania.

Jeśli zdecydujesz się ręcznie wpisać lub wkleić właściwość do edytora, powinna ona być sformatowana jako [properties.{propertyInternalName}]. Na przykład, aby dodać właściwość Test score, która ma wewnętrzną wartość Test_score, należy wpisać ją w edytorze jako [properties.Test_score].

Podczas korzystania z właściwości wyliczania w równaniu (np. wybór rozwijany, wybór radiowy):

  • Wartości są traktowane jako ciągi znaków, więc muszą być ujęte w podwójne wyceny. Na przykład "subscriber".
  • Należy użyć wewnętrznej nazwy opcji właściwości. Na przykład "appointmentscheduled".

Operatorzy

Operatorów można używać w równaniach do aktualizacji, oceny lub porównywania stałych i wartości właściwości. W przypadku korzystania z wielu operatorów, są one obserwujące kolejność operacji PEMDAS. W zależności od typu używanych danych, w równaniach niestandardowych można uwzględnić następujące operatory.

Operator Opis
+ Dodaje liczby lub ciągi znaków. Zwraca liczbę.
- Odejmowanie liczb. Zwraca liczbę.
* Mnożenie liczb. Zwraca liczbę.
/ Dzielenie liczb. Zwraca liczbę.
< Sprawdza, czy wartość jest mniejsza od innej. Obsługiwane przez właściwości liczbowe lub stałe. Zwraca wartość logiczną.
> Sprawdza, czy wartość jest większa od innej. Obsługiwane przez właściwości lub stałe liczbowe. Zwraca wartość logiczną.
<= Sprawdza, czy wartość jest mniejsza lub równa innej. Obsługiwane przez właściwości lub stałe liczbowe. Zwraca wartość logiczną.
>= Sprawdza, czy wartość jest większa lub równa innej. Obsługiwane przez właściwości lub stałe liczbowe. Zwraca wartość logiczną.
! Sprawdza, czy żadna z wartości nie jest prawdziwa. Zwraca wartość logiczną.
= lub == Sprawdza, czy wartość jest równa innej wartości. Obsługiwane przez liczby i ciągi znaków. Zwraca wartość logiczną.
!= Sprawdza, czy wartość nie jest równa innej. Obsługiwane przez liczby i ciągi znaków. Zwraca wartość logiczną.
or lub || Sprawdza, czy jedna z dwóch wartości jest prawdziwa. Zwraca wartość logiczną.
and lub && Sprawdza, czy obie wartości są prawdziwe. Zwraca wartość logiczną.

Funkcje

W formułach niestandardowych można używać funkcji do obliczania wartości i wykonywania działań na danych. W zależności od typu używanych danych, w równaniach niestandardowych można uwzględnić następujące funkcje.

Funkcja Argumenty Przykłady

abs

Pobiera wartość bezwzględną liczby. Zwraca liczbę.

abs(number)

number: liczba, dla której chcesz uzyskać wartość bezwzględną.

abs(-100) = 100

concatenate

Łączy do 100 ciągów znaków w jedną wartość. Zwraca ciąg znaków.

concatenate("arg 1", "arg 2")

arg1: ciąg znaków, do którego zostanie dołączony argument 2.

arg2: ciąg znaków, który ma zostać dołączony do arg1.

concatenate("Example", " Test") = "Example Test"

contains

Określa, czy ciąg znaków zawiera inny ciąg znaków (z uwzględnieniem wielkości liter). Zwraca wartość logiczną.

contains(text, substring)

text: ciąg znaków lub właściwość tekstowa do sprawdzenia podciągu.

substring: ciąg znaków, który powinien zawierać tekst.

contains([properties.name], "Spot")

contains("HubSpot", "Spot")

currency_decimal_places

Pobiera liczbę miejsc dziesiętnych dla waluty. Zwraca liczbę.

currency_decimal_places(currency)

currency: ciąg znaków waluty, dla której ma zostać obliczona liczba miejsc dziesiętnych.

currency_decimal_places("USD")

dated_exchange_rate

Pobiera wartość kursu wymiany w podanym czasie. Zwraca liczbę.

dated_exchange_rate(currency, date)

currency: ciąg znaków waluty, dla którego ma zostać obliczony kurs wymiany w określonym dniu (np. "USD").

date: właściwość datetime, dla której ma zostać obliczony kurs wymiany.

dated_exchange_rate("USD", [properties.closedate])

exchange_rate

Pobiera najnowszy kurs wymiany. Zwraca liczbę.

exchange_rate(currency)

currency: ciąg znaków waluty, dla której ma zostać obliczony kurs wymiany.

exchange_rate("USD")

if

Ustawienie wyrażenia warunkowego.

if(condition, arg2) lub if(condition, arg2, arg3)

condition: wyrażenie logiczne określające obliczaną wartość.

arg2: wartość logiczna, liczba lub ciąg znaków, która będzie obliczaną wartością, jeśli warunek zostanie spełniony.

arg3 (opcjonalnie): obliczona wartość, jeśli warunek nie zostanie spełniony. Jeśli jest dołączony, musi być tego samego typu co arg2. Jeśli nie zostanie użyty, wartością będzie null, gdy warunek nie zostanie spełniony.

if([properties.amount] > 1000, "large", "small")

is_known

Określa, czy dla tokena znana jest wartość. Zwraca wartość logiczną.

is_known(property)

właściwość: właściwość, której wartość ma zostać sprawdzona.

is_known([properties.name]) = true

last_updated

Pobiera datę ostatniej aktualizacji tokena. Zwraca znacznik czasu w milisekundach jako ciąg znaków.

last_updated(property)

właściwość: właściwość, dla której chcesz sprawdzić datę ostatniej aktualizacji.

last_updated([properties.amount]) = "1672531200000"

lowercase

Zmienia wszystkie znaki na małe litery. Zwraca ciąg znaków.

lowercase(text)

text: ciąg znaków lub właściwość tekstowa z wartościami, które mają zostać zmienione na małe litery.

lowercase("heLLo") = "hello"


lowercase([properties.test])

max

Uzyskuje maksimum z dwóch liczb. Zwraca liczbę.

max(arg1, arg2)

arg1: pierwsza liczba lub właściwość liczby.

arg2: druga liczba lub właściwość liczby.

max(500,[properties.amount]) = 500, jeśli wartość kwoty jest mniejsza niż 500.

min

Uzyskuje minimum z dwóch liczb. Zwraca liczbę.

min(arg1, arg2)

arg1: pierwsza liczba lub właściwość liczby.

arg2: druga liczba lub właściwość liczby.

min(500, 250) = 250

month

Pobiera numeryczny miesiąc podanej daty. Zwraca liczbę.

month(date)

date: właściwość datetime, dla której ma zostać obliczony miesiąc.

month([properties.closedate])

number_to_string

Konwertuje liczbę na ciąg znaków. Zwraca ciąg znaków.

number_to_string(number_to_convert)

number_to_convert: liczba lub właściwość liczby, którą chcesz zmienić na ciąg znaków.

number_to_string(1000) = "1000"

pipeline_probability

Pobiera prawdopodobieństwo wystąpienia etapu procesu. Zwraca liczbę.

pipeline_probability(pipeline)

pipeline: nazwa procesu, dla którego ma zostać obliczone prawdopodobieństwo.

pipeline_probability("newdeal")

power

Podnosi liczbę do wartości innej liczby. Zwraca liczbę.

power(base, exponent)

base: liczba bazowa.

wykładnik: wartość, do której ma zostać podniesiona podstawa.

power(5, 2) = 25

round_down

Zaokrągla liczbę w dół do określonej precyzji. Zwraca liczbę.

round_down(number_to_round, precision)

number_to_round: liczba lub właściwość liczby, którą chcesz zaokrąglić w dół.

precision: liczba miejsc dziesiętnych do zaokrąglenia w dół.

round_down(4.353, 1) = 4.3

round_nearest

Zaokrągla liczbę do określonej precyzji. Zwraca liczbę.

round_nearest(number_to_round, precision)

number_to_round: liczba lub właściwość liczby, której wartości mają zostać zaokrąglone.

precision: liczba miejsc dziesiętnych do zaokrąglenia.

round_nearest(4.32, 1) = 4.3

round_up

Zaokrągla liczbę do określonej precyzji. Zwraca liczbę.

round_up(number_to_round, precision)

number_to_round: liczba lub właściwość liczby, której wartości mają zostać zaokrąglone.

precision: liczba miejsc dziesiętnych do zaokrąglenia.

round_up(4.353, 1) = 4.4

sqrt

Pobiera pierwiastek kwadratowy z liczby. Zwraca liczbę.

sqrt(number)

number: liczba, dla której chcesz uzyskać pierwiastek kwadratowy.

sqrt(144) = 12

starts_with

Określa, czy ciąg znaków zaczyna się od innego ciągu znaków (z uwzględnieniem wielkości liter). Zwraca wartość logiczną.

starts_with(text, substring)

text: ciąg znaków lub właściwość tekstowa, która ma zostać sprawdzona pod kątem podciągu.

substring: ciąg znaków, od którego powinien zaczynać się tekst.

starts_with([properties.name], "Hub")

starts_with("HubSpot", "Hub")

string_to_number

Konwertuje ciąg znaków na liczbę. Zwraca liczbę.

string_to_number(string_to_convert)

string_to_convert: ciąg znaków lub właściwość tekstowa, której wartości mają zostać przekonwertowane na liczbę.

string_to_number("1000") = 1000

time_between

Pobiera różnicę czasu między dwiema datami. Zwraca liczbę.

time_between(date1, date2)

date1: początkowa właściwość datetime.

date2: końcowa właściwość datetime.

time_between([properties.createdate],[properties.closedate])

uppercase

Zmienia wszystkie znaki na wielkie litery. Zwraca ciąg znaków.

uppercase(text)

text: ciąg znaków lub właściwość tekstowa, którą chcesz zmienić na wielkie litery.

uppercase("hello") = "HELLO"

year

Pobiera numeryczny rok podanej daty. Zwraca liczbę.

year(date)

date: właściwość datetime, dla której ma zostać obliczony rok.

year([properties.closedate])

Przykłady

Poniżej obserwujący przedstawiają przykładowe formuły oparte na typowych przypadkach użycia.

  • Można skonfigurować instrukcje if else, w tym instrukcje z wieloma warunkami i wewnątrz funkcji:
    • if([properties.number] < 4, "less than four", "more than four")
    • if([properties.number] < 4, if([properties.other_number] < 2, "both true", "one true"), "not true")
    • concatenate(if([properties.number] < 4, "less", "more"), " than four")
  • W przypadku korzystania z właściwości liczby w formule niestandardowej można dołączyć funkcje if i is_known, aby ustawić wartość na 0, gdy właściwość liczby jest pusta. Na przykład if(is_known([properties.number]), [properties.number], 0).
  • W przypadku używania waluty rekordu w formule, aby dodać kurs wymiany, można dołączyć do równania funkcje exchange_rate lub dated_exchange_rate. Na przykład [properties.amount] * exchange_rate('CAD').