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

创建计算和滚动属性

上次更新时间: 2026年3月27日

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

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

请注意:您的账户可能为每个对象使用了个性化名称(例如,使用“账户”而非“公司”)。本文使用 HubSpot 的默认名称来指代对象。

例如,您可以创建:

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

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

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

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

例如,您可以创建一个交易属性,统计带有“决策者”标签的 交易关联联系人所记录的销售活动总数。

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

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

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

请注意:原始持续时间值以毫秒为单位存储。如果您在其他 HubSpot 工具(例如过滤器、计算属性公式)中使用持续时间计算属性,则可能需要使用毫秒值

创建“时间间隔”、“自某时起”或“

某时止”计算属性

您可以创建用于计算两个日期之间的时间,或追踪自某日期起或至某日期止的时间的属性,具体取决于日期或日期和时间选择器属性的值。时间间隔属性仅支持同一对象的属性。

例如:

  • 创建“时间间隔”属性,用于计算工单负责人被指派之时与工单关闭之时之间的时间。
  • 创建“自开启以来”属性,以追踪交易开启已有多久。
  • 创建“距离关闭时间”属性,以追踪客户设定的关闭时间距离今天还有多长时间。

若要创建基于当前日期(而非属性值)显示相对时间的属性,请了解如何创建相对时间日期/日期和时间选择器属性。您还可以使用自定义公式创建固定时间属性

要创建“时间间隔”“自开启以来”或“截至关闭”计算属性:

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

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

  4. 输入该属性的基本信息
  5. 点击“字段类型”下拉菜单,选择“计算”
  6. 点击“计算属性类型”下拉菜单,然后选择类型并设置计算:
    • 时间间隔:选择您的“开始日期”和“结束日期”属性
    • “自...起的时间”:选择其值将作为起始日期的日期/日期和时间选择器 属性。结束日期始终为今天的日期。
    • “截至时间”:选择日期/日期和时间选择器 属性,其值将作为结束日期。开始日期始终为今天的日期。
  7. 仅针对“时间间隔”属性,配置其他选项:
  8. 点击“创建属性”。 
创建完成后,该属性的显示字段类型将为 “计算”。此后 ,您 无法编辑其类型是 “时间间隔”、 “时间自” 还是 “时间至”, 但可以选择不同的起始或结束日期属性。

请注意: 以下场景支持“自…起”和“至…止”属性:

显示持续时间值时,预期行为如下:

  • 对于没有时间戳的日期属性,计算中使用的默认时间将是所选日期的 UTC 时间 00: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. 要预览公式的输出结果,请点击“测试公式”。
  12. 点击“创建属性”。

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

自定义方程语法

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

    • 数字字面量:不带引号的数字。常量数字可以是任何实数,并可包含小数点。例如,10051.5589都是有效的常量数字。

    • 布尔常量:常量布尔值可以是truefalse

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

运算符

您可以在方程中使用运算符来更新、计算或比较常量和属性值。使用多个运算符时,它们遵循 PEMDAS 运算顺序。根据所用数据的类型,您可以在自定义方程中包含以下运算符。

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

函数

您可以在自定义公式中使用函数来计算值并针对数据执行操作。根据所用数据的类型,您可以在自定义公式中包含以下函数。

函数 参数 示例

abs

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

abs(number)

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

abs(-100)= 100

add_time

将给定时间加到基准时间上,并按指定的单位进行计算。

add_time(base, timeToAdd, unit)

base:基准时间。

timeToAdd:要添加到基准时间上的时间量。

unit:表示timeToAdd 的单位。可选单位包括分钟小时月或

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

concatenate

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

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

arg1:将 arg 2 追加到的字符串。

arg2:要追加到 arg1 后的字符串。

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

contains

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

contains(text, substring)

text:要检查是否包含该子字符串的字符串或文本属性。

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

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

contains("HubSpot", "Spot")

货币小数位数

获取货币的小数位数。返回一个数字。

currency_decimal_places(currency)

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

currency_decimal_places("USD")

dated_exchange_rate

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

dated_exchange_rate(货币, 日期)

货币:要计算特定日期汇率的货币字符串(例如,“USD”)。

date:要计算汇率的日期时间属性。

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

exchange_rate

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

exchange_rate(currency)

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

exchange_rate("USD")

euler

返回欧拉常数的数值。

euler()

euler()= 2.71828

if

设置一个条件表达式。

if(条件, 参数2)if(条件, 参数2, 参数3)

条件:决定计算结果的布尔语句。

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,如果 amount 的值小于 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)

底数:底数。

指数:要将底数提升到的数值。

power(5, 2)= 25

round_down

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

round_down(待四舍五入的数字, 精度)

待四舍五入的数值:要向下舍入的数值或数值属性。

精度:向下舍入的小数位数。

round_down(4.353, 1)= 4.3

round_nearest

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

round_nearest(number_to_round, precision)

待四舍五入的数值:要对其值进行四舍五入的数值或数值属性。

精度:四舍五入的小数位数。

round_nearest(4.32, 1)= 4.3

round_up

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

round_up(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)

base:基准时间。

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

unit:表示timeToSubtract 的单位。可选单位包括分钟小时月或

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 语句,包括包含多个条件的语句以及函数内的语句。

例如,您可以创建一个计算来标记活跃交易。以下代码仅当交易的状态为“活跃”且金额大于零时返回True

  • 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. 点击“创建属性”。

要创建计算属性:

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

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

  5. “属性标签”文本框中,输入“计算折扣百分比”。 
  6. 点击“字段类型”下拉菜单,选择“计算”
  7. 点击“数字格式”下拉菜单,选择“百分比”
  8. 计算公式文本框中,输入(计算出的折扣金额 / (计算出的折扣金额 + 金额))。您也可以点击“生成公式”让 Breeze 自动生成。
  9. 点击“创建属性”。

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

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