计算变量和公式中的值
学习目标
完成本单元后,您将能够:
- 在流中串联两个文本值。
- 在流中加减数值和日期值。
- 创建一个公式来计算流中的动态值。
- 解释为什么要在流中使用公式。
使用分配元素处理数据
Assignment(分配)元素还可以更改现有变量数据,而不是完全将其替换。
结合文本
当变量的数据类型为文本时,可以选择 Add 作为分配元素的运算符。Add 运算符可以让您在当前值的末尾添加文本。
Set Shipping Address(设置送货地址)流运行良好,但 Flo 现在想知道送货地址是否是最新的。在 Copy Address(复制地址)分配元素中,我们来添加一行,该行将在客户的 Description(描述)字段中添加备注,注明为客户添加送货地址的日期。我们不想替换 Description(描述)字段中已有的内容,只想在末尾添加一个备注。但请注意,Salesforce 无法将文本变量与非文本资源(如日期变量或数字字段)相结合。要添加非文本数据,请创建一个公式,使用 TEXT() 函数将非文本值转换为文本。
首先,让我们创建一个包含新增文本的公式。
- 单击
显示工具箱。
- 单击新建资源。
- 在 Resource Type(资源类型)处选择 Formula(公式)。
- 在 API Name(API 名称)处输入
frmChangeDateNote
。
- 在 Data Type(数据类型)处选择 Text(文本)。(尽管我们添加的是日期,但最终结果必须是文本数据类型,这样我们才能将其添加到文本字段)。
- 在 Formula(公式)字段中输入以下文本:
" Shipping Address added on " & TEXT()
- 将光标置于括号( )内。
- 在 Insert a resource…(插入资源…)字段中,选择 $Flow > Current Date(当前日期)。
- 单击 Check Syntax(检查语法)。
语法检查器非常有助于发现带有嵌套函数的复杂长公式中的错误。
- 单击 Done(完成)。
在进入下一步之前,我们先来看看这个公式中的一些内容。
- 注意引号中短语开头和结尾的空格。这些空格将新短语与 Description(描述)字段中已有的文本和后面的日期分隔开来。例如,如果结尾没有空格,流会将描述设置为“Shipping Address added on03-02-2023”(送货地址添加于 03-02-2023)。
-
&
告诉公式合并前后的文本,与我们使用分配的 Add 运算符的效果类似。
-
TEXT()
函数将其中的内容转换为文本,以便在文本字段中使用。
然后,将文本添加行添加到 Copy Billing Address(复制账单地址)分配中。
- 单击 Copy Billing Address(复制账单地址)元素并选择 Edit Element(编辑元素)。
- 单击 + Add Assignment(+添加分配)。
- 在 Variable(变量)字段中,选择 Account from Get Account Data(来自获取客户数据的客户),然后选择 Account Description(客户描述)。我们在这里设置客户变量的 Description(描述)字段,因为它是正在变化的变量。
- 在 Operator(运算符)字段,选择 Add。
- 在 Value(值)字段,选择 frmChangeDateNote。我们在这里选择公式,因为它包含我们添加到描述中的文本值。
- 保存流。
现在,当 Update Records(更新记录)元素更新客户时,更新内容将包括更改后的 Description(描述)。
执行简单计算
您还可以使用 Add 运算符对数据类型为数字或货币的变量进行添加。不过,这会执行实际的数学运算;如果将数字值 4 和 2 相结合,得到的是 6,而不是 42。您还可以使用 Subtract 运算符从数字和货币变量值中进行减除。
例如,该分配元素可从业务机会金额中减去折扣。业务机会变量的 Amount(金额)应放在 Variable(变量)字段中,因为该值是会变化的值。Operator(运算符)被设置为 Subtract。最后,带有折扣金额的变量进入 Value(值)字段。
但请看第二行:这里是添加到日期字段。您还可以使用 Add 和 Subtract 运算符来从日期值中添加或减去天数。此 Assignment(分配)元素为业务机会的结束日期增加了 2 天。
使用公式自动计算变化
当您创建 frmChangeDateNote 公式时,&
符号将两个文本相结合,其功能与 Add 运算符在分配中的作用相同。那么,我们为什么不用 &
符号将日期直接附加到 Description(描述)字段中呢?& 符号只在公式中起作用,而 Description(描述)是一个长文本字段。在流公式中,Salesforce 不允许使用长文本字段,因为它们很容易超出公式的计算限制。
这一限制正说明了流中公式的局限性和复杂性。流公式的计算时间有限,字符数也有限,因此让复杂的公式本身就存在风险。此外,与变量不同,公式不能在流的中途更改。那么,什么时候适合使用公式呢?
把公式想象成您工具包里那些刀头形状您从未见过的螺丝刀。也许您不会经常用到它们,但当您真的遇到这些形状的螺丝钉时,您就会庆幸自己拥有这种特殊的工具!换句话说,一般情况下,当您遇到只有公式才能解决的情况时,就应该使用公式。
frmChangeDateNote 公式就是遵循这一规则的极好例证。我们不能只使用一个 Assignment(分配)元素将日期附加到描述中,因为日期必须先转换为文本值。我们需要公式的 TEXT() 函数来完成转换。
资源