高级表达式编辑 advanced-expression-editing
关于高级表达式编辑 about-advanced-expression-editing
编辑表达式需要手动输入条件以形成规则。
利用此模式,可使用高级功能。利用这些函数,可处理用于执行特定查询(如处理日期、字符串、数字字段、排序等)的值。
在编辑表达式时,也可以使用工作流的事件变量。 有关更多信息,请参阅使用事件变量自定义活动一节。
您可以编辑表达式,以:
-
通过添加规则时可用的 Advanced mode 选项定义查询。
-
编辑工作流中的表达式。例如,向活动添加附加数据。
-
编辑可见性条件以定义编辑某个块在 HTML 内容编辑器中的显示方式。在这种情况下,表达式以 JavaScript 格式进行编辑,且不会提供高级函数作为标配。
编辑表达式 edit-an-expression
利用高级表达式版,可手动定义专门对应于您需求的表达式。
编辑表达式可于创建电子邮件时在受众窗口中使用,也可于创建工作流时在查询活动中使用。
-
有关访问表达式编辑窗口的方法详情,请参阅关于高级表达式编辑一节。其中涉及以下元素:
- 定义表达式的输入字段。
- 可在表达式中使用并对应于查询中定向维度的可用字段清单(请参阅定向维度和资源)。
- 可用函数的列表,按类别排序。
-
通过直接在相应字段中输入表达式以编辑表达式,或通过使用一系列可用字段和函数以编辑表达式。
双击某个字段或表达式,可将其添加到光标所在的表达式中。
可以使用工作流的事件变量来构建表达式。有关更多信息,请参阅使用事件变量自定义活动一节。
-
根据需要为规则指定一个特定名称。输入的名称将作为规则名称,显示在查询编辑器工作区中。
通过编辑表达式,您可以个性化受众表达式,以根据需要定向群体。
相关主题:
表达式语法 expression-syntax
标准语法 standard-syntax
标准表达式由一个或多个符合以下语法元素的条件组成:
-
每个条件都采用 <value1> <comparison operator> <value2> 的形式,其中:
- <value1> 是字段或函数例如 @created 对应于创建用户档案的日期,而 Year(@created) 对应于创建用户档案的年份。
- <comparison operator> 是 Comparison operators 部分中列出的运算符之一。此运算符用于定义 <value1> 和 <value2> 之间的比较方法。
- <value2> 是手动输入的字段、函数或值。
note note NOTE <value1> 和 <value2> 类型数据必须相同。例如,如果 <value1> 是日期,则 <value2> 也必须是日期。 -
如果要使用多个条件,则可使用逻辑运算符将它们组合在一起。
- AND:两个条件相交。
- OR:两个条件相并。
例如:
Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())
在本例中,需要定向创建日期为当前月份和年份的用户档案。
JavaScript语法 javascript-syntax
在定义 HTML 内容编辑器的文本类型块的可见性条件时,必须使用 JavaScript 类型语法的表达式。
JavaScript 表达式由一个或多个条件组成,其中使用了以下语法元素:
-
每个条件都采用 <context> <comparison operator> <value2> 的形式,其中:
- <context> 是用于指定上下文的字段或函数。例如 context.profile.@email 对应于用户档案的电子邮件地址,而 context.profile.firstName.length() 对应于用户档案名字的字符数。
- <comparison operator> 是 Comparison operators 部分中列出的运算符之一。此运算符用于定义 <context> 和 <value2> 之间的比较方法。
- <value2> 是手动输入的字段、函数或值。
note note NOTE <context> 和 <value2> 类型数据必须相同。例如,如果 <context> 是日期,则 <value2> 也必须是日期。 -
如果要使用多个条件,则可使用逻辑运算符将它们组合在一起。
- &&:两个条件相交。
- ||:两个条件相并。
例如:
context.profile.age > 21 && context.profile.firstName.length() > 0
在本例中,就是 21 岁以上并且提供了名字的用户档案(以 firstName 字段至少包 含一个字符为标志)。
比较运算符 comparison-operators
对于某些规则,利用查询编辑器,可选择一个值以定义条件。
条件必须通过使用下列运算符之一,链接到值。