使用公式字段
学习目标
完成本单元后,您将能够:
- 创建自定义公式字段并使用公式编辑器。
- 解释公式字段为什么实用。
- 至少列出公式字段的一个用例。
- 创建简单的公式。
公式字段简介
您从组织中获取了大量的数据。您的用户需要直观地访问和理解这些数据,而无需在脑海中进行大量计算。输入公式字段后,这款强大的工具可让您控制数据的显示方式。
假设您想在一条记录上取两个数字字段并将它们相除得到一个百分比;或者您可能希望将字段转换为可点击的超链接,以便从记录的页面布局中轻松访问重要信息;或者是想取两个日期并计算它们间隔的天数,所有这些都可以使用公式字段来实现。
让我们看一个具体的例子。如果您想计算距离某个业务机会的截止日期还剩多少天,该怎么办呢?您可以创建一个简单的公式字段来自动计算该值。通过将值添加到“业务机会”页面布局,您的用户就可以快速访问这一关键信息。为方便即时访问,您还可以将此字段添加到报表和列表视图中。
当您第一次学习公式时,最好从简单的计算开始,然后逐步构建更复杂的场景。但即使是简单的公式也能提供有价值的信息。
在本单元中,我们将带您了解使用公式编辑器的基础知识,并通过几个基本示例向您介绍公式语法。内容还涉及解决公式字段的问题。现在就来试试吧!
准备上手实践公式吗?
现在请创建一个新 Trailhead Playground,跟着试试这个模块中的步骤。滚动到此页面的底部,单击 Playground 名称,然后选择 Create Playground(创建 Playground)。Salesforce 创建 Trailhead Playground 通常需要 2–3 分钟。需要完成实践挑战时,您也可以使用 Playground。
查找公式编辑器
在开始编写公式之前,让我们先找到公式编辑器并了解它的特性。
您可以针对任何标准或自定义对象创建自定义公式字段。首先,我们针对“业务机会”对象创建一个公式。按照以下步骤导航到公式编辑器。
- 从设置中打开 Object Manager(对象管理器)并单击 Opportunity(业务机会)。
- 在左侧边栏,单击 Fields & Relationships(字段和关系)。
- 单击 New(新建)。
- 选择 Formula(公式),然后单击 Next(下一步)。
- 在 Field Label(字段标签)中键入
My Formula Field
(我的公式字段)。注意 Field Name(字段名称)会自动填充。
- 选择您希望公式返回的数据类型。例如,如果您想要编写一个公式来计算销售人员从交易中获得的佣金,请选择 Currency(货币)。现在,选择 Text(文本)。
- 单击 Next(下一步)。您已经进入公式编辑器!现在开始实践吧。
使用公式编辑器
此图突出显示了公式编辑器中最重要的部分。
- 公式编辑器有两种风格:简单和高级。通常大多数用户倾向使用简单编辑器,但我们还是推荐您使用高级编辑器。高级并不意味着更复杂,而是可以使用更多工具来创建强大的公式。
-
Insert Field(插入字段)按钮将打开一个菜单,允许您选择要在公式中使用的字段。从菜单中插入字段会自动生成访问字段的正确语法。
-
Insert Operator(插入运算符)按钮将打开可用的数学和逻辑运算符的下拉列表。
- 通过函数菜单您可以查看并插入公式函数。函数是由 Salesforce 预实现的更复杂的操作。某些函数可以按原样使用(例如,TODAY() 函数返回当前日期),而其他函数则需要额外的信息,即参数。例如,LEN(text) 函数可以查找作为参数输入的文本长度。公式 LEN("Hello") 返回值为 5。
- 您可以在文本区输入公式。编写公式时,请记住:
- 有空格,没关系。您可以根据需要插入任意数量的空格和换行符,这不会影响公式的执行。
- 公式的某些方面区分大小写。注意字段和对象名称的大小写。
- 处理数字时,应用标准运算顺序。
- 编写公式后,您可以使用 Check Syntax(检查语法)按钮在保存之前确保一切正常。如果您的公式有问题,语法检查器会向您发出特定问题的警告。
我们不需要继续创建此公式字段,因此单击 Cancel(取消)。现在您已经了解了基本方法,让我们用编辑器操作一些简单的示例吧。
示例 1:在联系人详细信息页面显示客户字段
记录详细信息页已包含大量信息,但有时这是不够的。您可能需要更多信息!考虑到这是您的第一个公式,我们先从简单的开始吧。我们从 Account(客户)对象中获取单个字段,并用跨对象公式将段字该显示在“联系人”中。我们来看一看。
首先创建一个 Contact(联系人)。如果您之前从未创建过联系人,请从 App Launcher(应用程序启动器)() 中找到并打开 Contacts(联系人)。单击 New(新建)。为 Last Name(姓)输入任意值。对于 Account Name(客户名称),输入一个已有名称,如 United Oil & Gas Corp(联合石油天然气公司),单击 Save(保存)。接下来,我们创建一个公式以在 Contact(联系人)页面上显示客户名称。
- 从 Setup(设置)中打开 Object Manager(对象管理器)并单击 Contact(联系人)。
- 在左侧栏中单击 Fields & Relationships(字段和关系)。
- 单击 New(新建)。
- 对于字段类型,选择 Formula(公式),然后单击 Next(下一步)。
- 调用您的
Account Number
(客户编号)字段并选择 Text(文本)作为公式返回类型。单击 Next(下一步)。
- 在高级公式编辑器中,单击 Insert Field(插入字段)。选择 Contact(联系人) | Account(客户) | Account Number(客户编号),然后单击 Insert(插入)。单击 Check Syntax(检查语法)。如果没有语法错误,单击 Next(下一步)。在这样一个简单的公式中不太可能出现语法错误,但是检查每个公式的语法是一个很好的习惯。
- 单击 Next(下一步),同意字段级安全设置,然后单击 Save(保存)。
恭喜,您已经编写了第一个公式!现在可以回头看看您都进行了哪些操作。打开您刚刚创建的联系人对象详细信息页,然后找到新的 Account Number(客户编号)公式字段。做的不错!
示例 2:在报表中显示距离业务机会截止日期的剩余天数
您还可以在报表中使用公式字段来增强重要信息的可见性。举例来说,您想在报表的某一列中显示距离业务机会截止日期的剩余天数。首先,创建一个 Opportunity(业务机会)来测试公式。
如果您之前从未创建过业务机会,请从 App Launcher(应用程序启动器)() 中找到并打开 Opportunities(业务机会)。单击 New(新建)。为 Opportunity Name(业务机会名称)填写任意值,选择任意 Stage(阶段),并设置至少 3 天以后的截止日期。单击 Save(保存)。
然后执行以下步骤,针对 Opportunities(业务机会)对象创建一个名为 Days to Close(截止日期)的自定义公式字段,并定义返回类型为 Number(数值)。
- 从设置中打开 Object Manager(对象管理器)并单击 Opportunity(业务机会)。
- 在左侧栏中单击 Fields & Relationships(字段和关系)。
- 单击 New(新建)。
- 选择 Formula(公式),然后单击 Next(下一步)。
- 在 Field Label Text(字段标签)文本区域,输入
Days to Close
(距离结束剩余天数)。
- 选择 Number(数值)单选按钮。
- 单击 Next(下一步)打开公式编辑器。
- 通过将业务机会截止日期减去当前日期的方式得出剩余天数:
- 单击 Insert Field (插入字段),选择 Opportunity(业务机会)| Close Date(结束日期),然后单击 Insert(插入)。
- 从 Insert Operator(插入运算符)菜单中,选择 -Subtract(减)。
- 但我们如何告知公式,我们需要今天的日期呢?幸运的是,通过 TDAY() 函数可以更新以匹配当前日期。
- 在编辑器右侧的 Functions(函数)菜单中选择 TODAY。
- 单击 Insert Selected Function(插入所选函数)。
- 单击 Check Syntax(检查语法)。如果没有语法错误,单击 Next(下一步)。
- 单击 Next(下一步),同意字段级安全设置,然后单击 Save(保存)。
现在可以将新的公式字段放入报表中了。
- 从 App Launcher(应用程序启动器)() 中找到并打开 Reports(报表),然后单击 New Report(新建报表)。
- 在 Search Report Types...(搜索报表类型)字段中,输入 Opportunities(业务机会)。选择 Opportunities(业务机会),并单击 Start Report(开始报表)。您的“业务机会”对象出现在 Report Preview(报表预览)面板中。
- 确保已开启 Update Preview Automatically(自动更新预览)。
- 在页面左侧的 Add column...(添加列...)字段中,输入
Days to Close
(距离结束剩余天数)。 这个字段是您刚刚创建的公式字段。包含计算值字段的列将自动添加到报表中。
在本单元中,您不再需要使用这张报表。您可以废弃这张报表,继续下一个示例。
调试公式
语法错误是使用公式过程中不可避免的一部分。编辑器中的 Check Syntax(检查语法)按钮是调试公式的重要工具。语法检查器会告诉您公式中出现的具体错误以及错误所在的位置。以下是常见语法问题。
-
缺少括号:常出现在左括号的数量与右括号的数量不匹配时。尤其是同时使用多个函数时,很难避免此类错误。尝试将函数分成多行,这样更容易区分哪组括号应该成对出现。
如果您忘记在两个函数参数之间添加逗号,也会遇到此类错误。这类错误令人困惑,因为实际问题与语法检查器提示信息不匹配。如果您确定括号用法正确,请仔细检查函数中的逗号用法是否正确。
-
参数类型错误:如果在需要文本(或任何其他数据类型组合)时为函数提供数字参数,则会出现此类错误。请务必查看帮助文本或文档,以便了解函数支持的参数类型。
-
函数的参数数量错误:如果您在函数中输入过多或过少的参数,语法检查器会发出告警。再次检查帮助文本或文档,以获取有关将参数输入到特定函数的指南。
-
公式结果与公式返回类型不兼容:如果您在创建公式字段时选择了一种数据类型,但编写了返回不同数据类型的公式,则会出现该错误。在下面的示例中,您可以看到“我的客户”公式期望返回一个数字(显示在公式名称旁边的括号中),但 TODAY() 函数返回了一个日期。错误信息会告诉您预期的数据类型,但还是建议您事先参考文档以避免此类错误。
-
字段不存在:此错误表明您在公式中包含了对象不支持的字段。在这种情况下,请检查是否存在拼写和大小写的问题。如果您没有发现任何错误,请尝试从“插入字段”菜单中再次插入该字段,以确保您引用正确的字段。
出现此类错误的另一个原因是,您没有为文本文字或超链接添加引号。
-
未知函数:这种情况下,请检查 Salesforce 是否支持您正在使用的函数。对于拼写错误的函数,您也会收到此错误。
更多示例
让我们再看几个具体的例子。您可以自己创建这些公式,或者浏览一下。
- 该公式使用 HYPERLINK() 函数创建指向外部网站的超链接。在页面布局中添加超链接,可帮助您的用户从详情页快速访问重要信息。
- 如果您想对业务机会金额应用折扣,您可以使用以下公式。在本例中,我们应用 12% 的折扣,然后使用 ROUND() 函数将结果四舍五入到两位小数。
- 这是一个复选框公式,用于判断这是否是一个“难得的”业务机会。检查对象是客户所属公司的员工数量是否超过 1,000 人以及业务金额是否超过 10,000 美元。如果这两个语句都为 true,则该字段将作为一个复选框出现在“业务机会”页面。否则,该字段将显示为空白框。
公式文档包含许多不同用例的丰富示例。在浏览这些示例时,请知悉其中许多示例包含了本单元未涵盖的高级概念。在处理这些公式之前,请确保您熟悉这里提供的信息。