v7
适用于Campaign Classicv7
v8
也适用于Campaign v8

定义过滤器条件 defining-filter-conditions

选择运算符 choosing-the-operator

在筛选条件中,您需要使用运算符将两个值链接在一起。

以下是可用的运算符列表:

运算符
用途
示例
等于
返回与在第二个“值”列中输入的数据相同的结果。
姓氏(@lastName)等于“Jones”,将仅返回姓氏为Jones的收件人。
大于
返回大于输入值的值。
年龄(@age)大于50,将返回所有大于“50”的值,如“51”、“52”等。
小于
返回小于输入值的值。
创建日期(@created)早于“DaysAgo(100)”,将返回之前100天创建的所有收件人。
大于或等于
返回所有等于或大于输入值的值。
年龄(@age)大于或等于“30”,将返回所有30岁或以上的收件人。
小于或等于
返回等于或小于输入值的所有值。
年龄(@age)小于或等于“60”,将返回所有60岁或以下的收件人。
不等于
返回与输入值不相同的所有值。
等于“英语”的语言(@language).
开始于
返回以输入值开头的结果。
帐户# (@account)以“32010”开头。
开头不是
返回不以输入值开头的结果
帐户# (@account)不以“20”开头.
包含
返回至少包含输入值的结果。
电子邮件域(@domain)包含“mail”,将返回包含“mail”的所有域名。 因此,也会返回“gmail.com”域。
不包含
返回不包含输入值的结果。
电子邮件域(@domain)不包含“vo”. 在这种情况下,将不返回包含“vo”的域名。 “voila.fr”域名将不会显示在结果中。
相似
相似与包含运算符非常相似。它可让您插入 % 值中的通配符。
姓氏(@lastName),如“Jon%s”. 在本例中,如果操作员忘记了“n”和“s”之间缺少的字母,则使用通配符作为“绝招”来查找名称“Jones”。
不相似
与 相似相同。用于不恢复输入的值。 在本例中,输入的值也必须包含 % 个通配符字段。
姓氏(@lastName)不像“Smi%h”. 在此,将不会返回姓氏为“Smi%h”的收件人。
为空
在这种情况下,我们要查找的结果与第二个“值”列中的空值匹配。
移动设备(@mobilePhone)为空 返回所有没有手机号码的收件人。
不为空
与的工作方式相反 为空 运算符。 无需在第二个“值”列中输入数据。
电子邮件(@email)不为空.
包含在
返回指定值中包含的结果。 这些值必须以逗号分隔。
出生日期(@birthDate)已列入`1979/10/1979,12/10/1984`,将返回这些日期之间出生的收件人。
中未包含
的工作方式与 包含在 运算符。 在本例中,我们要根据输入的值排除收件人。
出生日期(@birthDate)不包括1979/12/10/1984. 与上一个示例不同,不会返回这些日期内出生的收件人。

使用AND、OR,但 using-and--or--except

对于使用多个筛选条件的查询,需要定义条件之间的链接。 有三种可能的链接:

  • And 可让您组合两个过滤条件,
  • Or 让你提供替代方案,
  • Except 用于定义例外。

单击 And (默认提供)并从下拉列表中选择。

  • And:添加条件并启用过度过滤。

  • Or:添加条件并启用过度过滤。

    以下示例允许您查找其电子邮件域包含“orange.co.uk”或其邮政编码以“NW”开头的收件人。

  • Except:如果您有两个过滤器,但第一个过滤器未返回值,则此类型的链接会创建一个例外。

    在以下示例中,我们希望返回其电子邮件域包含“orange.co.uk”的收件人,除非收件人的姓氏为“Smith”。

此示例显示了一个用于显示的过滤器:说西班牙语的收件人、使用手机号码的女性收件人、没有帐号且公司名称以字母“N”开头的收件人。

区分条件的优先级 prioritizing-conditions

本节将介绍如何借助工具栏中的蓝色箭头来排列条件的优先级。

  • 通过指向右侧的箭头,可以向过滤器添加一定级别的圆括号。

  • 通过指向左侧的箭头,可从筛选器中删除选定的括号级别。

  • 垂直箭头允许您移动条件,从而更改其执行顺序。

此示例说明如何使用箭头删除括号级别。 从以下筛选条件开始: City equal to London OR gender equal to male and mobile not indicated OR account # starts with “95” and company name starts with “A”.

将光标放在 Gender (@gender) equal to Male 过滤条件,然后单击 Remove a parenthesis level 箭头。

Gender (@gender) equal to Male 条件已移出其圆括号。 它已经达到与“伦敦与金融城相等”的水平。 这些条件链接在一起(And)。

选择要提取的数据 selecting-data-to-extract

可用字段因表而异。 所有字段都存储在主节点(称为 Main element. 在以下示例中,可用字段位于收件人表中。 字段始终按字母顺序显示。

所选字段的详细信息将显示在窗口底部。 例如, Email domain 字段是 Calculated SQL field 其扩展为 (@domain).

NOTE
使用 Search 用于查找可用字段的工具。

双击可用字段以将其添加到输出列。 在查询结束时,每个选定的字段都会在 Data preview 窗口。

默认情况下,不显示高级字段。 单击 Display advanced fields 字段的右下角显示所有内容。 再次单击可返回到前视图。

例如,在收件人表中,高级字段为 布尔值1Boolean 2Boolean 3Foreign key of “Folder” link,等等。

以下示例显示了收件人表的高级字段。

各种类别的字段:

图标
说明
示例
简单字段
电子邮件、性别等。
主键. 此SQL字段用于标识表中的记录。
标识符收件人为主键,标识符按定义是唯一的。
外键。 用作指向另一个表的链接。
收件人外键、服务外键等。
计算字段. 根据请求,使用数据库中的值计算此类型的字段。
年龄、电子邮件域等
包含长文本的字段。
评论、完整地址等
已编制索引的SQL字段。
全名、ISO代码等。

链接到表和收集要素:

图标
说明
示例
尤其是指向表的链接。 这些规则与1-1类型关联一致。 源表的出现只能与目标表的一个出现一致。 例如,一个国家/地区只能链接一个收件人。
文件夹、州/省、国家/地区等。
特定表上的收集要素。 它们与1-N类型关联一致。 一个源表格出现次数可以与目标表格的多个出现次数一致,但目标表格出现次数可以只与源表格出现次数一致。 例如,一位收件人可以订阅“n”个订阅信。
订阅、列表、排除日志等。
NOTE
  • 使用 Add 按钮(侧图标栏上方),以添加要在其中编辑表达式的输出列。 有关编辑表达式的详细信息,请参阅 本节.
  • 通过单击红色的“x”删除输出列(删除)。
  • 使用箭头更改输出列的顺序。
  • Distribution of values 用于查看所选字段值的分布情况(例如,链接到收件人城镇、收件人语言等的分布情况)。

创建计算字段 creating-calculated-fields

如有必要,请在设置数据格式期间添加列。 计算字段将列添加到数据预览部分。 单击 Add a calculated field

有四种类型的计算字段:

  • Fixed string:用于添加字符串。

  • String with JavaScript tags:计算字段的值将字符串和JavaScript指令组合在一起。

  • JavaScript expression:计算字段的值是JavaScript函数求值的结果。 可以键入返回的值(数字、日期等)。

  • Enumerations:利用此类型的字段,可使用/修改新列中某个输出列的内容。

    可以使用列的源值并为它指定目标值。 此目标值将显示在新输出列中。

    添加计算字段类型的示例 Enumerations 可用,请参阅 本节.

    Enumerations 类型计算字段可以包括4个条件:

    • Keep the source value 将源值还原到目标而不更改它。
    • Use the following value 允许您为未定义的源值输入默认目标值。
    • Generate a warning and continue 警告用户无法更改源值。
    • Generate an error and reject the line 阻止计算和导入该行。

单击 Detail of calculated field 以查看插入字段的详细信息。

要删除此计算字段,请单击 Remove the calculated field 十字。

构建表达式 building-expressions

表达式编辑工具允许您使用表达式计算聚合、生成函数或编辑公式。

以下示例说明如何对主键运行计数。

应用以下步骤:

  1. 单击 AddData to extract 窗口。 在 Formula type 窗口中,选择公式类型以输入表达式。

    有多种类型的公式可用: Field onlyAggregateExpression.

    选择 Process on an aggregate function、和 Count. 单击 Next

  2. 计算主键。

以下是 Formula types 窗口:

  1. Field only 可让您返回 Field to select 窗口。

  2. Aggregate (Process on an aggregate function). 以下是聚合使用的一些示例:

    • Count 用于运行主键计数。

    • Sum 允许您合计客户在一年以上的所有购买次数。

    • Maximum value 允许您查找购买最多“n”个产品的客户。

    • Minimum value 允许您对客户进行排序,并查找最近订阅了选件的客户。

    • Average. 此函数允许您计算收件人的平均年龄。

      Distinct 框用于恢复列的唯一值和非零值。 例如,您可以恢复所有收件人的跟踪日志,这些跟踪日志将更改为值1,因为它们都涉及同一收件人。

  3. Expression 打开 Edit the expression 窗口。 这样,您就可以检测包含太多数字(可能是输入错误)的电话号码。

    有关所有可用函数的列表,请参阅 函数列表.

函数列表 list-of-functions

如果 Expression 选择了类型公式,您将被带到“编辑表达式”窗口。 可以将各种类别的函数关联到可用字段: AggregatesStringDateNumericalCurrencyGeomarketingWindowing functionOthers.

表达式编辑器如下所示:

它允许您选择数据库表中的字段并向它们添加高级函数。 可以使用以下函数:

聚合

名称
说明
语法
平均
返回数字类型列的平均值
Avg(<值>)
计数
计算列的非空值
Count(<值>)
CountAll
计算返回的值(所有字段)
CountAll()
Countdistinct
计算列的不同非空值
Countdistinct(<值>)
最大值
返回数字、字符串或日期类型列的最大值
Max(<值>)
最小值
返回数字、字符串或日期类型列的最小值
Min(<值>)
标准开发
返回数字、字符串或日期列的标准偏差
StdDev(<value>)
总和
返回数字、字符串或日期类型列的值的总和
Sum(<值>)

字符串

名称
说明
语法
AllNonNull2
指示所有参数是否为非 null 且不为空
AllNonNull2(<字符串>, <字符串>)
AllNonNull3
指示所有参数是否为非 null 且不为空
AllNonNull3(<字符串>, <字符串>, <字符串>)
Ascii
返回字符串中第一个字符的 ASCII 值.
Ascii(<字符串>)
Char
返回与 ASCII 代码"n"对应的字符
Char(<数字>)
Charindex
返回字符串 1 中字符串 2 的位置.
Charindex(<字符串>, <字符串>)
GetLine
返回字符串的 n(从 1 到 n)行
GetLine(<字符串>)
IfEquals
如果前两个参数相等,则返回第三个参数。 如果不能,则返回最后一个参数
IfEquals(<字符串>, <字符串>, <字符串>, <字符串>)
IsMemoNull
指示作为参数传递的 Memo 是否为 null
IsMemoNull(<memo>)
JuxtWords
将作为参数传递的字符串连接起来。 如有必要,在字符串之间添加空格。
JuxtWords(<字符串>, <字符串>)
JuxtWords3
将作为参数传递的字符串连接起来。 如有必要,在字符串之间添加空格
JuxtWords3(<字符串>, <字符串>, <字符串>)
LPad
返回左侧的已完成字符串
LPad(<string>, <number>, <character>)
Left
返回字符串的前 n 个字符
Left(<字符串>, <数字>)
Length
返回字符串的长度
Length(<字符串>)
Lower
以小写形式返回字符串
Lower(<字符串>)
Ltrim
删除字符串左侧的空格
Ltrim(<字符串>)
Md5Digest
返回字符串以十六进制表示的 MD5 键值
Md5Digest(<字符串>)
MemoContains
指定 Memo 是否包含作为参数传递的字符串
MemoContains(<memo>, <字符串>)
RPad
返回右侧的已完成字符串
RPad(<字符串>, <数字>, <字符>)
Right
返回字符串的最后 n 个字符
Right(<字符串>)
Rtrim
删除字符串右侧的空格
Rtrim(<字符串>)
Smart
以大写方式返回带每个单词的第一个字母的字符串
Smart(<字符串>)
Substring
提取从字符串的字符n1开始且长度为n2的子字符串
Substring(<字符串>, <偏移>, <长度>)
ToString
将数字转换为字符串
ToString(<number>, <number>)
Upper
返回以大写表示的字符串
Upper(<字符串>)
VirtualLink
如果其他两个参数相等,则返回作为参数传递的链接的外键
VirtualLink(<数字>, <数字>, <数字>)
VirtualLinkStr
如果其他两个参数相等,则返回作为参数传递的链接的外键(文本)
VirtualLinkStr(<字符串>, <数字>, <数字>)
dataLength
返回字符串大小
dataLength(<string>)

日期

名称
说明
语法
AddDays
向日期添加天数
AddDays(<日期>, <数字>)
AddHours
向日期添加小时数
AddHours(<日期>, <数字>)
AddMinutes
向日期添加分钟数
AddMinutes(<日期>, <数字>)
AddMonths
向日期添加月数
AddMonths(<日期>, <数字>)
AddSeconds
向日期添加秒数
AddSeconds(<日期>, <数字>)
AddYears
向日期添加年数
AddYears(<日期>, <数字>)
DateOnly
仅返回日期(且时间为00:00)*
DateOnly(<日期>)
Day
返回表示日期天数的数字
Day(<日期>)
DayOfYear
返回日期年份中的天数
DayOfYear(<日期>)
DaysAgo
返回对应于当前日期n天的日期
DaysAgo(<数字>)
DaysAgoInt
返回对应于当前日期n天的日期(整数yyyymmdd)
DaysAgoInt(<数字>)
DaysDiff
两个日期之间的天数差
DaysDiff(<结束日期>, <开始日期>)
DaysOld
返回日期的年龄(以天为单位)
DaysOld(<日期>)
GetDate
返回服务器的当前系统日期
GetDate()
Hour
返回日期的小时数
Hour(<日期>)
HoursDiff
返回两个日期之间的小时数之差
HoursDiff(<结束日期>, <开始日期>)
Minute
返回日期的分钟数
Minute(<日期>)
MinutesDiff
返回两个日期之间的分钟数之差
MinutesDiff(<结束日期>, <开始日期>)
Month
返回表示日期月份的数字
Month(<日期>)
MonthsAgo
返回对应于当前日期 n 个月的日期
MonthsAgo(<数字>)
MonthsDiff
返回两个日期之间的月数之差
MonthsDiff(<结束日期>, <开始日期>)
MonthsOld
返回日期的年龄(以月为单位)
MonthsOld(<日期>)
Second
返回日期的秒数
Second(<日期>)
SecondsDiff
返回两个日期之间的秒数之差
SecondsDiff(<结束日期>, <开始日期>)
SubDays
从日期减去天数
SubDays(<日期>, <数字>)
SubHours
从日期减去小时数
SubHours(<日期>, <数字>)
SubMinutes
从日期减去分钟数
SubMinutes(<日期>, <数字>)
SubMonths
从日期减去月数
SubMonths(<日期>, <数字>)
SubSeconds
从日期减去秒数
SubSeconds(<日期>, <数字>)
SubYears
从日期减去年数
SubYears(<日期>, <数字>)
ToDate
将日期+时间转换为日期
ToDate(<日期 + 时间>)
ToDateTime
将字符串转换为日期+时间
ToDateTime(<字符串>)
TruncDate
将日期+时间舍入到最接近的秒数
TruncDate(@lastModified, <秒数>)
TruncDateTZ
将日期+时间舍入为以秒表示的精度
TruncDateTZ(<日期>, <秒数>, <时区>>)
TruncQuarter
将日期舍入到季度
TruncQuarter(<日期>)
TruncTime
将时间部分舍入到最接近的秒
TruncTim(e)<date>, <number of="" seconds="">)
TruncWeek
将日期舍入到周
TruncWeek(<日期>)
TruncYear
将日期+时间舍入到年度的 1 月 1 日
TruncYear(<日期>)
TruncWeek
返回表示日期一周中某天的日期数字
WeekDay(<日期>)
Year
返回表示日期年份的数字
Year(<日期>)
YearAnd Month
返回表示日期的年份和月份的数字
YearAndMonth(<日期>)
YearsDiff
返回两个日期之间的年数之差
YearsDiff(<结束日期>, <开始日期>)
YearsOld
返回日期的年龄(以年为单位)
YearsOld(<日期>)
NOTE
请注意 Dateonly 函数会考虑服务器的时区,而不是运算符的时区。

数值

名称
说明
语法
Abs
返回数字的绝对值
Abs(<数字>)
Ceil
返回大于或等于某个数字的最小整数
Ceil(<数字>)
Floor
返回大于或等于某个数字的最大整数
Floor(<数字>)
Greatest
返回两个数字中的较大者
Greatest(<数字 1>, <数字 2>)
Least
返回两个数字中的较小者
Least(<数字 1>, <数字 2>)
Mod
返回n1除以n2的整数除余数
Mod(<数字 1>, <数字 2>)
Percent
返回两个数字的比值,以百分比表示
Percent(<数字 1>, <数字 2>)
Random
返回随机值
Random()
Round
将数字舍入为 n 位小数
Round(<数字>, <小数>)
Sign
返回数字的符号
Sign(<数字>)
ToDouble
将整数转换为浮点
ToDouble(<数字>)
ToInt64
将浮点转换为 64 位整数
ToInt64(<数字>)
ToInteger
将浮点转换为整数
ToInteger(<数字>)
Trunc
将 n1 取整到 n2 位小数
Trunc(<n1>, <n2>)
  1. 货币
名称
说明
语法
ConversionCurrency
将以源货币表示的金额转换为以目标货币表示的金额
ConvertCurrency(<amount>, <source currency="">, <target currency="">, <conversion date="">)
格式货币
根据所选货币设置设置显示的金额格式
FormatCurrency(<amount>, <currency>)

地理位置营销

名称
说明
语法
Distance
返回由经度和纬度定义的两点之间的距离,以度表示。
Distance(<经度 A>, <纬度 A>, <经度 B>, <纬度 B>)

其他

名称
说明
语法
Case
如果条件为true,则返回值1。 如果不存在,则返回值2。
Case(When(<条件>, <值 1>), Else(<值 2>))
ClearBit
删除值中的标志
ClearBit(<标识符>, <标识>)
Coalesce
如果值 1 为 0 或 null,则返回值 2,否则返回值 1
Coalesce(<值 1>, <值 2>)
Decode
如果值1 =值2,则返回值3。 如果不返回,则返回值4。
Decode(<值 1>, <值 2>, <值 3>, <值 4>)
Else
返回值 1(只能用作 case 函数的参数)
Else(<value>, <value>)
GetEmailDomain
从电子邮件地址提取域名
GetEmailDomain(<值>)
GetMirrorURL
检索镜像页面服务器的 URL
GetMirrorURL(<值>)
Iif
如果表达式为true,则返回值1。 如果不存在,则返回值2
Iif(<条件>, <值 1>, <值 2>)
IsBitSet
指示标志是否在值中
IsBitSet(<标识符>, <标识>)
IsEmptyString
如果字符串1为空,则返回值2,否则返回值3
IsEmptyString(<value>, <value>, <value>)
NoNull
如果参数为 NULL,则返回空字符串
NoNull(<值>)
RowId
返回行号
RowId
SetBit
强制将标志设在值中
SetBit(<标识符>, <标识>)
ToBoolean
将数字转换为布尔值
ToBoolean(<数字>)
When
如果表达式为true,则返回值1。 如果不存在,则返回值2(只能用作case函数的参数)
When(<条件>, <值 1>)

窗口化函数

名称
说明
语法
Desc
应用降序排序
Desc(<值 1>)
OrderBy
对分区中的结果进行排序
OrderBy(<值 1>)
PartitionBy
对表格上的查询结果进行分区
PartitionBy(<值 1>)
RowNum
根据表分区和排序顺序生成行号。
RowNum(PartitionBy(<值 1>), OrderBy(<值 1>))
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1