跳到内容
请注意::本文仅为方便您阅读而提供。本文由翻译软件自动翻译,可能未经校对。本文的英文版应被视为官方版本,您可在此找到最新信息。您可以在此处访问。

创建计算和卷积属性

上次更新时间: 2025年11月12日

可与以下任何订阅一起使用,除非另有说明:

您可以创建基于其他属性计算结果填充数据的属性。通过汇总属性,可自动计算关联记录中属性的最小值、最大值、计数、总和或平均值。借助计算属性,可基于属性值之间的时间间隔、截止时间或起始时间设置公式,或根据对象属性创建自定义公式。

请注意:您的账户可能为每个对象使用个性化名称(例如使用 account 代替 company)。本文档采用 HubSpot 默认名称指代对象。

例如,您可以创建:

  • 基于自定义公式计算新客户获取成本的公司属性。
  • 联系人属性,用于计算联系人关联交易的平均金额
  • 一个交易属性,用于计算自交易开启以来的时间长度。
  • 发票、订阅或付款属性,用于计算扣除所有折扣后的利润金额。

根据您的 HubSpot 订阅类型,可创建的计算属性数量存在限制

基于关联记录属性创建汇总属性

您可以为对象创建基于关联记录特定属性值计算的属性。既可基于该对象的所有关联记录计算,也可针对特定关联标签(包括同对象关联)进行计算。

例如,可创建一个交易属性,统计标记为 "决策者" 的关联联系人记录的销售活动总数。

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中导航至“属性”。

  3. 点击 “选择对象”下拉菜单 ,选择[对象]属性以创建 该对象的属性。

  4. 输入属性的基本信息,然后点击"字段类型"选项卡。
  5. 点击字段类型下拉菜单,选择汇总
  6. 单击“汇总类型”下拉菜单,然后选择以下类型之一:
    • 最小值:显示所选对象关联记录中选定数值属性的最小值。
    • 最大值:显示所选对象所有关联记录中选定数字属性的最大值。
    • 计数:统计所选对象关联记录中具有所选数字属性值的总条目数。
    • 求和:计算所选对象所有关联记录中选定数值属性的总和。
    • 平均值:计算所选对象所有关联记录中选定数值属性的平均值。
  7. 若需设置属性值的格式,请点击“数字格式”下拉菜单,从以下选项中选择:格式化 数字未格式化数字货币百分比或 时长
  8. 若为交易属性选择货币格式,该属性将默认采用账户的公司货币 。如需使用每条交易记录的货币,请勾选" 使用记录货币而非公司货币"复选框。使用记录货币仅影响数值显示方式,不会自动应用汇率。
  9. 选择关联对象关联记录属性作为计算基础。
  10. 若需仅基于特定标签的记录进行计算,请点击"选择关联标签",然后勾选所需标签
  11. 要添加额外条件,请点击“添加条件”。设置附加条件后,必须同时满足所有条件才能计算属性(例如:当“最近交易金额”>1000 “交易概率”≥80时计算属性。每个汇总属性最多可配置50个条件。
    • 在第一个下拉菜单中选择属性
    • 在第二个下拉菜单中,选择运算符以比较首个属性的数值与某个数字或另一个属性的数值。
    • 在第三个下拉菜单中,选择属性或输入数值作为 与首个属性进行比较的基准
    • 点击保存
  12. 点击创建。创建后,该属性的显示字段类型将为汇总。

请注意:原始时长值以毫秒为单位存储。若在其他 HubSpot 工具(如筛选器、计算属性公式)中使用时长计算属性,可能需要采用毫秒值

创建时间间隔、时间间隔(自某时起)或时间间隔(至某时止)计算属性

您可以创建计算两个日期之间的时间间隔,或追踪距某日期已过或剩余时间的属性,其值由日期或日期时间选择器属性决定。时间间隔属性仅支持同一对象的属性。

例如:

  • 创建"时间间隔"属性以计算工单分配给所有者至工单关闭期间的时间跨度。
  • 创建"自开启以来时间"属性以追踪交易开启时长。
  • 创建"距关闭时间"属性,用于追踪客户设定的关闭日期与当前日期的间隔。

若需创建基于今日日期而非属性值显示相对时间的属性,请了解如何创建相对时间日期/日期时间选择器属性。您也可通过自定义公式创建固定时间属性

创建"时间间隔"、"自某时起"或"至某时止"计算属性:

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中,导航至“属性”

  3. 点击 “选择对象”下拉菜单 ,选择[对象]属性以 创建该对象的属性。

  4. 输入属性的基本信息,然后点击" 字段类型"选项卡
  5. 点击字段类型下拉菜单,选择"计算"
  6. 点击"计算属性类型"下拉菜单,选择类型并设置计算公式:
    • 时间间隔:选择起始日期和 结束日期属性
    • 自某时起:选择日期/日期 时间选择器属性作为起始日期。结束日期始终为当日日期。
    • 剩余时间:选择日期/日期 时间选择器属性作为结束日期。开始日期始终为当日日期。
  7. 仅限时间区间属性:若需添加附加条件,请点击添加条件。设置附加条件后,所有条件必须同时满足才能计算属性值(例如:当近期交易金额>1000且交易 概率≥80时计算该属性)。
    • 在第一个下拉菜单中选择属性
    • 在第二个下拉菜单中,选择运算符以比较首个属性值与数字或另一个属性值。
    • 在第三个下拉菜单中,选择属性或输入数值作为 与首个属性进行比较的基准
    • 点击保存
  8. 点击创建。创建后,该属性的显示字段类型将为计算。后续 无法修改其类型(时间间隔、 时间距或 时间至),但可选择不同的起始或结束日期属性。

请注意: 以下情况不支持"自某时起"和"至某时止"属性:

显示时长值时预期行为如下:

  • 对于无时间戳的日期属性,计算将默认采用所选日期的协调世界时(UTC)凌晨12:00作为基准时间。
  • 显示值将根据特定阈值以秒、分钟、小时、天、月或年为单位呈现。单位阈值如下:
    • 2.5年及以上以年为单位显示。
    • 3个月及以上显示为月。
    • 1天及以上以天为单位显示。
    • 2.5小时及以上以小时显示。
    • 2.5分钟及以上以分钟显示。
    • 2.5分钟以下将以秒为单位显示。

A HubSpot property details screen for 'Peter Burke'. The 'Course duration' field is highlighted, showing a value of '3.7 months'.

请注意:在 HubSpot 中,"时间间隔"和 "平均值"属性类型的原始值以毫秒为单位存储。若包含这些值的公式计算结果高于预期,请使用毫秒转换器转换为所需时间单位。

创建自定义公式计算属性

您还可创建基于自定义规则计算值的属性。自定义公式仅限于在创建新属性的同一对象内设置数值属性。例如:可创建公式计算企业最近交易金额(最近交易金额)与贵司联系该企业次数(联系次数)的比值。

您可使用算术运算符、比较运算符、逻辑运算符、条件语句及其他函数构建自定义公式。这些公式可返回数字、布尔值、字符串、日期或日期时间值。了解可用运算符函数及 公式格式设置方法,也可查阅常用公式示例

创建自定义公式计算属性步骤:

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中,导航至“属性”

  3. 点击 “选择对象”下拉 菜单,然后选择[对象]属性以 创建该对象的属性。

  4. 输入房产的基本信息,然后点击"字段类型"选项卡。
  5. 点击字段类型下拉菜单,选择计算
  6. 点击"计算属性类型"下拉菜单,选择"自定义公式"
  7. 点击输出类型下拉菜单,选择计算结果的输出类型。可选项包括:数字布尔值字符串日期或 日期时间

请注意:所选输出类型必须与编辑器右上角显示的输出类型匹配,否则无法创建该属性。对于返回日期的属性,可选择数字或日期输出类型,该类型决定值的显示方式(即数字类型以毫秒显示日期,日期类型显示格式化日期)。

  1. 若选择数字输出类型:
    • 点击数字格式下拉菜单,选择属性值的格式化方式。可选项包括:格式化数字未格式化数字货币百分比或 时长
    • 若为交易属性选择货币格式,该属性默认将采用账户的公司货币 。如需使用每条交易记录的货币,请勾选" 使用记录货币而非公司货币"复选框。
请注意:使用 数字输出类型时需遵循以下规则:
  • 使用记录货币仅影响值的显示方式,不会自动应用汇率。若需添加汇率,可在公式中包含exchange_ratedated_exchange_rate 函数
  • 若自定义公式中的数值属性存在空值或未赋值,计算将中止且计算属性值为空。即使公式包含常量数值,该值仍会保持空值。此时可使用ifis_known 函数将值设为0。

  1. 在编辑器中,通过插入、输入或粘贴函数与属性来构建自定义公式。了解自定义计算公式语法。 插入公式元素的方法
    • 点击"插入"下拉菜单。
    • 要向公式插入函数,请选择"函数",然后选择所需函数
    • 要向公式插入属性,请选择“属性”,然后选取所需属性。创建自定义公式时,仅可使用与当前对象属性相同的属性进行创建。
  2. 若公式存在错误,请点击编辑器上方的[x]问题图标查看错误原因。当公式存在未解决错误时,将无法创建属性。了解更多公式格式设置方法。
  3. 预览公式输出效果,请点击测试公式
  4. 点击创建。创建后,该属性的显示字段类型将为计算

A form for creating a HubSpot calculated property. The highlighted custom equation concatenates 'First Name' and 'Last Name', with 'Neal Caffrey' as the output.

请注意:计算公式中最多可嵌套70个左括号(例如(((1+2)+3)+4) 将产生4层嵌套)。

使用 AI 创建自定义计算属性

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中,导航至“属性”

  3. 点击 “选择对象”下拉 菜单,然后选择[对象]属性以 创建该对象的属性。

  4. 输入属性基本信息后,点击"字段类型"选项卡。
  5. 点击字段类型下拉菜单并选择"计算"
  6. 公式文本框下方点击生成公式
  7. 在弹出框中:
    • 将鼠标悬停在示例链接上查看推荐提示。
    • 在“您希望该属性为您计算什么?”文本框中输入提示语
    • 点击生成
  8. 检查生成的公式,如有需要可进行修改。
  9. 点击“输出类型”下拉菜单,选择与公式文本框中显示的值(如字符串)匹配的类型。
  10. 要预览公式输出结果,请点击测试公式
  11. 点击创建

GIF displaying property create screen. User creates a calculation property. They select a 'generate formula' button to build the formula with AI.

自定义方程语法

  • 字面量语法:使用字面量数据可在方程中添加文本字符串、数字及真/假值。字符串、数字、布尔值和日期常量可通过以下方式格式化:
    • 字符串常量:用引号包围的文本。可使用单引号('constant' )或双引号("constant" )表示。

    • 数字字面量:无引号的数字。常量数字可为任意实数,支持小数点表示法。例如10051.5589 均为有效常量数字。

    • 布尔字面量:布尔常量可为truefalse

    • 日期字面量:以毫秒为单位表示的日期。例如:1698508800000
  • 属性语法:您可以在自定义方程中包含同一对象的其他属性。
    • 若属性被插入 编辑器,系统将自动将其格式化并作为方程的一部分进行验证。
    • 若选择手动输入或粘贴属性至编辑器,应采用[properties.{propertyInternalName}] 格式。例如添加 内部值为Test_score的"测试分数"属性时,需在编辑器中输入 [properties.Test_score]
    • 在公式中 使用枚举属性 (如下拉选择框、单选按钮)时,其值被视为字符串,必须用双引号包裹(例如"subscriber" ),同时必须使用属性选项的内部名称(例如"appointmentscheduled" )。
    • 在公式中使用日期属性时,值以UTC午夜为基准存储为毫秒数。
    • 在公式中使用日期时间属性时,值将存储为UTC纪元时间(毫秒制)。该值显示基于用户所在时区,因此不同时区的用户将看到不同数值。

运算符

您可在方程式中使用运算符来更新、评估或比较常量与属性值。使用多个运算符时,遵循PEMDAS运算优先级规则。根据所用数据类型,您可在自定义方程式中包含以下运算符。

操作符 描述
+ 添加数字或字符串。返回一个数字。
- 减去数字。返回数字。
* 数字相乘。返回数字。
/ 数字除法。返回一个数字。
< 检查一个值是否小于另一个值。支持数字属性或常量。返回布尔值。
> 检查一个值是否大于另一个值。支持数字属性或常量。返回布尔值。
<= 检查一个值是否小于或等于另一个值。支持数字属性或常量。返回布尔值。
>= 检查值是否大于或等于另一个值。支持数值属性或常量。返回布尔值。
! 检查所有值是否均为假。返回布尔值。
=== 检查一个值是否等于另一个值。支持数字和字符串。返回布尔值。
!= 检查值是否不等于另一个值。支持数字和字符串。返回布尔值。
or|| 检查两个值中是否至少有一个为真。返回布尔值。
and or&& 检查两个值是否均为真。返回布尔值。

函数

可在自定义公式中使用函数计算数值并执行数据操作。根据所用数据类型,自定义方程可包含以下函数:

函数 参数 示例

abs

获取数字的绝对值。返回一个数字。

abs(number)

number:要获取绝对值的数值。

abs(-100) = 100

add_time

将给定时间以指定单位为单位添加到基准时间上。

add_time(base, timeToAdd, unit)

基准时间:基准时间。

timeToAdd:需添加至基准时间的时间量。

单位:表示timeToAdd 的单位。选项包括secondminutehourdayweekmonthyear

add_time(1699320015000, 1, “second”) = 1699320016000

concatenate

将最多100个字符串合并为一个值。返回一个字符串。

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

arg1:arg2将被追加到的字符串。

arg2:要附加到 arg1 的字符串。

concatenate("Example", " Test") = "示例测试"

contains

判断字符串是否包含另一个字符串(区分大小写)。返回布尔值。

contains(text, substring)

text:用于检查子字符串的字符串或文本属性。

子字符串:文本中应包含的字符串。

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

contains("HubSpot", "Spot")

currency_decimal_places

获取货币的有效小数位数。返回数字。

currency_decimal_places(currency)

货币:需计算小数位数的货币字符串。

currency_decimal_places("USD")

dated_exchange_rate

获取指定时间点的汇率值。返回一个数字。

dated_exchange_rate(currency, date)

货币:用于计算特定日期汇率的货币字符串(例如:"USD" )。

日期:用于计算汇率的日期时间属性。

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

exchange_rate

获取最新汇率。返回一个数字。

exchange_rate(currency)

货币:需要计算汇率的货币字符串。

exchange_rate("USD")

euler

返回欧拉常数值。

euler()

euler() = 2.71828

if

设置条件表达式。

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

条件:决定计算结果的布尔表达式。

arg2:布尔值、数字或字符串,当条件满足时作为计算结果。

arg3(可选):条件未满足时的计算值。若包含此参数,其类型必须与arg2 一致。若未使用,则条件未满足时返回null

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

is_known

判断令牌是否存在已知值。返回布尔值。

is_known(property)

property:要检查其值的属性。

is_known([properties.name]) = true

last_updated

获取令牌上次更新的日期。返回以毫秒为单位的时间戳字符串。

last_updated(property)

property:需查询最新更新日期的属性。

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

lowercase

将所有字符转换为小写。返回字符串。

lowercase(text)

text: 需要转换为小写的字符串或文本属性。

lowercase("heLLo") = "hello"


lowercase([properties.test])

max

获取两个数字中的最大值。返回一个数字。

max(arg1, arg2)

arg1:第一个数字或数字属性。

arg2:第二个数字或数字属性。

max(500,[properties.amount]) = 500,若金额值小于500。

min

获取两个数字中的最小值。返回一个数字。

min(arg1, arg2)

arg1:第一个数字或数字属性。

arg2:第二个数字或数字属性。

min(500, 250) = 250

month

获取指定日期的数字月份。返回一个数字。

month(date)

date:用于计算月份的日期时间属性。

month([properties.closedate])

number_to_string

将数字转换为字符串。返回字符串。

number_to_string(number_to_convert)

number_to_convert:要转换为字符串的数字或数字属性。

number_to_string(1000) = "1000"

pipeline_probability

获取管道阶段的概率。返回数字。

pipeline_probability(pipeline)

pipeline:要计算概率的管道名称。

pipeline_probability("newdeal")

power

将一个数值提升到另一个数值的幂次。返回一个数值。

power(base, exponent)

base:底数。

指数:要将底数提升至该值的幂次。

power(5, 2) = 25

round_down

将数字向下舍入至指定精度。返回一个数字。

round_down(number_to_round, precision)

number_to_round:要向下舍入的数字或数字属性。

精度:舍入后的有效小数位数。

round_down(4.353, 1) = 4.3

round_nearest

将数字四舍五入至指定精度。返回一个数字。

round_nearest(number_to_round, precision)

number_to_round:要四舍五入的数字或数字属性。

precision:四舍五入后的有效小数位数。

round_nearest(4.32, 1) = 4.3

round_up

将数字向上舍入至指定精度。返回一个数字。

round_up(number_to_round, precision)

number_to_round:要向上舍入的数值或数值属性。

precision:四舍五入后保留的小数位数。

round_up(4.353, 1) = 4.4

sqrt

获取数的平方根。返回一个数。

sqrt(number)

number:要求取平方根的数值。

sqrt(144) = 12

starts_with

判断字符串是否以另一个字符串开头(区分大小写)。返回布尔值。

starts_with(text, substring)

text:要检查子字符串的字符串或文本属性。

substring:文本应以该字符串开头的字符串。

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

starts_with("HubSpot", "Hub")

string_length

返回给定字符串的长度

string_length(text)

text:要检查长度的字符串或文本属性。

string_length(“Wow”) = 3

string_to_number

将字符串转换为数字。返回一个数字。

string_to_number(string_to_convert)

string_to_convert:要转换为数字的字符串或文本属性。

string_to_number("1000") = 1000

subtract_time

从基准时间中减去指定时间,减法操作由指定单位控制。

subtract_time(base, timeToAdd, unit)

基准时间:基准时间。

timeToSubtract:需从基准时间中减去的时间量。

单位:表示时间的单位,timeToSubtract 。可选值包括secondminutehourdayweekmonthyear

subtract_time(1699320015000, 1, "second") = 1699320014000

time_between

获取两个日期之间的时间差。返回一个数字

time_between(date1, date2)

date1:起始日期时间属性。

date2:结束日期时间属性。

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

uppercase

将所有字符转换为大写。返回字符串。

uppercase(text)

text:要转换为大写的字符串或文本属性。

uppercase("hello") = "HELLO"

year

获取指定日期的数字年份。返回一个数字。

year(date)

date: 需要计算年份的日期时间属性。

year([properties.closedate])

查看自定义公式示例

以下基于常见使用场景的公式示例。

使用if else语句

您可设置if else语句,包括包含多个条件的语句以及函数内的语句。

例如,可创建标记活跃交易的计算:仅当交易状态为活跃且金额大于零时,该公式将返回真值

  • if([properties.amount] < 0 && [properties.dealstage] == "qualifiedtobuy", "True", "False")

运行空值计算

在自定义公式中使用数字属性时,可通过ifis_known 函数将空值属性设为0。这样即使属性包含空值,计算仍可正常运行。例如:

  • if(is_known([properties.number]), [properties.number], 0).

向货币计算中添加汇率

在公式中使用记录货币时,若需添加汇率,可在方程式中包含exchange_ratedated_exchange_rate 函数。例如:

  • [properties.amount] * exchange_rate('CAD').

创建固定时间计算

可设置计算获取两个日期间的固定时间间隔。默认返回原始值为毫秒。通过除法运算和round_nearest 函数可将其格式化为小时、天等单位,并消除最终值的小数部分。例如以下代码将返回固定天数值:

  • round_nearest((((((([properties.closedate]-[properties.createdate]) / 1000) / 60) ) /60) /24), 0).

请注意:建议在输入属性名称和描述时保持具体明确,以便用户知晓所计算的时间单位(如小时或天数)。

A HubSpot property details screen for 'Peter Burke'. The value for 'Course duration fixed number of days' is highlighted, showing '113'.

计算交易折扣百分比

在交易中使用明细项时,可通过汇总属性与计算属性追踪总折扣百分比。汇总属性 将关联所有明细项的 "计算总折扣"属性进行求和 ,计算属性则将汇总属性除以其自身与默认交易 金额属性的和。

创建汇总属性步骤:

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中,导航至“属性”

  3. 点击 “选择对象”下拉菜单 选择“交易属性”
  4. 点击创建属性 ,选择手动创建

  5. “属性标签”文本框中输入“计算折扣金额”
  6. 输入该房产的其他基本信息
  7. 点击“字段类型”选项卡。
  8. 点击“字段类型”下拉菜单并选择“汇总”
  9. 点击“汇总类型”下拉菜单并选择“求和”
  10. 点击数字格式下拉 菜单,选择货币
  11. 点击“选择关联记录类型”下拉菜单,选择“明细行”
  12. 点击选择关联记录属性下拉菜单,选择计算总折扣
  13. 在右上角点击创建

创建计算属性:

  1. 在 HubSpot 帐户中,单击顶部导航栏中的 settings“设置”图标
  2. 在左侧边栏菜单中,导航至“属性”

  3. 点击 “选择对象”下拉菜单 选择“交易属性”
  4. 点击创建属性 ,选择手动创建

  5. 属性标签文本框中输入“计算折扣百分比”。
  6. 输入该属性的其他基本信息
  7. 点击“字段类型”选项卡。
  8. 点击“字段类型”下拉菜单并选择“计算”
  9. 点击“数字格式”下拉菜单并选择“百分比”
  10. 计算公式文本框中 输入(Calculated discount amount / (Calculated discount amount + Amount)) 。您也可点击生成公式让Breeze自动生成。
  11. 在右上角点击创建

HubSpot calculated property settings showing a custom equation for a percentage discount, with formula and sample output.

这篇文章有帮助吗?
此表单仅供记载反馈。了解如何获取 HubSpot 帮助