定义筛选条件

选择运算符

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

以下是可用运营商的列表:

运算符
用途
示例
等于
返回与在第二个“值”列中输入的数据相同的结果。
姓氏(@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”。 此处,通配符用作“小丑”以查找“Jones”的名称,如果操作员忘记了“n”和“s”之间缺少的字母。
不相似
相似相同。允许您不恢复输入的值。 在本例中,输入的值也必须包含 % 个通配符字段。
姓氏(@lastName)与“Smi%h”不同。 此处,将不返回姓为“Smi%h”的收件人。
为空
在这种情况下,我们要查找的结果与第二个“值”列中的空值匹配。
移动(@mobilePhone)为空 ,返回所有没有移动号码的收件人。
不为空
与“为空”运 算符相反 。 不必在第二个“值”列中输入数据。
电子邮件(@email)不为空
包含在
返回包含在指定值中的结果。 这些值必须用逗号分隔。
出生日期(@birthDate)包含在'12/10/1979,12/10/1984'中,将返回这些日期之间出生的收件人。
不包含在
类似“包含在 操作符中 ”的作品。 在此,我们要根据输入的值排除收件人。
出生日期(@birthDate)不包括在'12/10/1979,12/10/1984'中。 与上一个示例不同,不返回在这些日期内生成的收件人。

使用和或,除

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

  • And 结合两种过滤条件,
  • Or 让你优惠另一种,
  • Except 允许您定义例外。

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

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

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

    以下示例允许您查找其电子邮件域包含“orange.co.uk”或其帖子代码开始带有“NW”的收件人。

  • Except:如果您有两个过滤器,而第一个链接不返回值,则此类型的链接会创建异常。

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

此示例显示了一个可显示的筛选器:说西班牙语的收件人,或者是带有移动号码的收件人,或者是没有帐号的公司,其名开始字母“N”。

确定条件优先级

此部分介绍如何利用工具栏中的蓝色箭头对条件进行优先排序。

  • 向右箭头允许您向筛选器添加一级括号。

  • 指向左侧的箭头允许您从筛选器中删除选定的括号级别。

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

此示例说明如何使用箭头删除括号级别。 开始来自以下筛选条件: 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)。

选择要提取的数据

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

选定字段的详细信息显示在窗口底部。 例如,字 Email domain 段是 Calculated SQL field 一个扩展名 (@domain)

注意

使用该 Search 工具查找可用字段。

多次单击可用字段,将其添加到输出列。 在查询的末尾,每个选定的字段在窗口中创建一 Data preview 列。

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

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

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

各类别字段:

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

链接到表和集合元素:

图标
说明
示例
尤其是指向表的链接。 这些关联与1-1类型关联一致。 源表的出现只能与目标表的一个出现一致。 例如,只能将一个收件人链接到国家。
文件夹、状态、国家/地区等
特定表上的集合元素。 这些关联与1-N类型关联一致。 一个源表出现可以与目标表出现的几个出现一致,但目标表出现的一个可以与源表的唯一出现一致。 例如,一个收件人可以订阅“n”订阅字母。
订阅、列表、排除日志等。
注意
  • 使用 Add 按钮(侧图标栏上方)添加要在其中编辑表达式的输出列。 有关编辑表达式的详细信息,请参阅 构建表达式
  • 单击红色的“x”(删除),删除​输出​列。
  • 使用箭头更改输出列的顺序。
  • Distribution of values 方法用于视图所选字段值的分布(例如,链接到收件人镇、收件人语言等的分布)。

创建计算字段

如有必要,请在数据格式化过程中添加列。 计算字段会向数据预览部分添加列。 单击 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 叉号。

构建表达式

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

以下示例显示如何运行对主键的计数。

应用以下步骤:

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

    可用的公式有几种类型: Field only, Aggregate, Expression

    Select Process on an aggregate function, and Count. Click 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 口。 这样,您就可以检测到数字过多的电话号码,这可能是输入错误。

    有关所有可用功能的列表,请参 阅列表

函数列表

如果选 Expression 择了类型公式,您将进入“编辑表达式”窗口。 可以将各种类别函数关联到可用字段: AggregatesStringDateNumericalCurrencyGeomarketing​和 Windowing functionOthers

表达式编辑器如下所示:

它允许您选择数据库表中的字段,并向它们添加高级函数。 提供以下功能:

聚合

名称
说明
语法
平均
返回数字类型列的平均值
Avg(<值>)
计数
Counts the non-null values of a column
Count(<值>)
CountAll
计算返回的值(所有字段)
CountAll()
Countdistinct
Counts the distinct non-null values of a column
Countdistinct(<值>)
Max
Returns the maximum value of a number, string, or date type column
Max(<值>)
最小
Returns the minimum value of a number, string or date type column
Min(<值>)
StdDev
返回数字、字符串或日期列的标准偏差
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
Extracts the substring starting at character n1 of the string and of length n2
Substring(<字符串>, <偏移>, <长度>)
ToString
将数字转换为字符串
ToString(<number>, <number>)
Upper
返回以大写表示的字符串
Upper(<字符串>)
VirtualLink
如果其他两个参数相等,则返回作为参数传递的链接的外键
VirtualLink(<数字>, <数字>, <数字>)
VirtualLinkStr
如果其他两个参数相等,则返回作为参数传递的链接的外键(文本)
VirtualLinkStr(<字符串>, <数字>, <数字>)
dataLength
Returns the string size
dataLength(<string>)

日期

名称
说明
语法
AddDays
向日期添加天数
AddDays(<日期>, <数字>)
AddHours
向日期添加小时数
AddHours(<日期>, <数字>)
AddMinutes
向日期添加分钟数
AddMinutes(<日期>, <数字>)
AddMonths
向日期添加月数
AddMonths(<日期>, <数字>)
AddSeconds
向日期添加秒数
AddSeconds(<日期>, <数字>)
AddYears
向日期添加年数
AddYears(<日期>, <数字>)
DateOnly
Returns the date only (with time at 00:00)*
DateOnly(<日期>)
Day
返回表示日期天数的数字
Day(<日期>)
DayOfYear
Returns the number of the day in the year of the date
DayOfYear(<日期>)
DaysAgo
Returns the date corresponding to the current date minus n days
DaysAgo(<数字>)
DaysAgoInt
Returns the date (integer yyyymmdd) corresponding to the current date minus n days
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>, <秒数>)
TruncWeek
将日期舍入到周
TruncWeek(<日期>)
TruncYear
将日期+时间舍入到年度的 1 月 1 日
TruncYear(<日期>)
TruncWeek
返回表示日期一周中某天的日期数字
WeekDay(<日期>)
Year
返回表示日期年份的数字
Year(<日期>)
YearAnd Month
返回表示日期的年份和月份的数字
YearAndMonth(<日期>)
YearsDiff
返回两个日期之间的年数之差
YearsDiff(<结束日期>, <开始日期>)
YearsOld
返回日期的年龄(以年为单位)
YearsOld(<日期>)
注意

请注意, Dateonly 函数会考虑服务器的时区,而不是运算符的时区。

数值

名称
说明
语法
Abs
返回数字的绝对值
Abs(<数字>)
Ceil
返回大于或等于某个数字的最小整数
Ceil(<数字>)
Floor
Returns the greatest integer greater than or equal to a number
Floor(<数字>)
Greatest
返回两个数字中的较大者
Greatest(<数字 1>, <数字 2>)
Least
返回两个数字中的较小者
Least(<数字 1>, <数字 2>)
Mod
Returns the remainder of the integer division of n1 by 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. 货币
名称
说明
语法
转换货币
将来源货币中的金额转换为以目标货币表示的金额
ConvertCurrency(<amount>, <source currency>, <目标货币>, <转换日期>)
格式货币
设置根据所选货币设置显示金额的格式
FormatCurrency(<amount>, <currency>)

地理位置营销

名称
说明
语法
Distance
Returns the distance between two points defined by their longitude and latitude, expressed in degrees.
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 1>, <value 2>)
GetEmailDomain
Extracts the domain from an e-mail address
GetEmailDomain(<值>)
GetMirrorURL
检索镜像页面服务器的 URL
GetMirrorURL(<值>)
Iif
如果表达式为true,则返回值1。 否则返回值2
Iif(<条件>, <值 1>, <值 2>)
IsBitSet
指示标志是否在值中
IsBitSet(<标识符>, <标识>)
IsEmptyString
Returns value 2 if string 1 is empty, otherwise returns value 3
IsEmptyString(<value 1>, <value 2>, <value 3>)
NoNull
如果参数为 NULL,则返回空字符串
NoNull(<值>)
RowId
返回行号
RowId
SetBit
强制将标志设在值中
SetBit(<标识符>, <标识>)
ToBoolean
将数字转换为布尔值
ToBoolean(<数字>)
When
如果表达式为true,则返回值1。 If not, it returns value 2 (may only be used as a parameter of the case function)
When(<条件>, <值 1>)

窗口函数

名称
说明
语法
Desc
应用降序排序
Desc(<值 1>)
OrderBy
对分区中的结果进行排序
OrderBy(<值 1>)
PartitionBy
对表格上的查询结果进行分区
PartitionBy(<值 1>)
RowNum
Generates a line number based on the table partition and on a sorting sequence.
RowNum(PartitionBy(<值 1>), OrderBy(<值 1>))

在此页面上