Show Menu
主题×

定义过滤条件

选择运算符

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

使用和,或,除

对于使用多个筛选条件的查询,您需要定义这些条件之间的链接。 有三个可能的链接:
  • 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 为a, Calculated SQL field 其扩展名为 (@domain)
使用该 Search 工具查找可用字段。
双击可用字段,将其添加到输出列。 在查询的结尾处,每个选定的字段在窗口中创建一 Data preview 列。
默认情况下,高级字段不显示。 单 Display advanced fields 击可用字段右下角的以显示所有内容。 再次单击可返回到前一个视图。
例如,在收件人表中,高级字段为 Boolean 1 Boolean 2 Boolean 3 Foreign key of "Folder" link ​等。
以下示例显示了收件人表的高级字段。
各种类别的字段:
图标 说明 示例
简单字段 电子邮件、性别等
主键。 此SQL字段是一种标识表中记录的方法。 标识符接收者是主键,标识符根据定义是唯一的。
外键。 用作指向另一个表的链接。 接收方外键、服务外键等
计算字段。 此类型的字段是使用数据库中的值在请求时计算的。 年龄、电子邮件域等
包含长文本的字段。 评论、完整地址等。
索引SQL字段。 全名、ISO代码等
链接到表和集合元素:
图标 说明 Example
尤其是指向表的链接。 这些关联与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
    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 口。 这样,您就可以检测数字过多的电话号码,这可能是输入错误。
    有关所有可用函数的列表,请参阅 函数列表

功能列表

如果选 Expression 择了类型公式,您将进入“编辑表达式”窗口。 各种类别的函数可以关联到可用字段: Aggregates , String , Date , Numerical , Currency ​和 Geomarketing Windowing function Others
表达式编辑器如下所示:
它允许您选择数据库表中的字段,并向它们添加高级函数。 有以下功能可用:
聚合
名称 说明 语法
平均 返回数字类型列的平均值 Avg(<value>)
计数 计算列的非空值 Count(<value>)
全部计数 计算返回的值(所有字段) CountAll()
Countdistinct 计算列的不同非空值 Countdistinct(<value>)
Max 返回数字、字符串或日期类型列的最大值 Max(<value>)
最小 返回数字、字符串或日期类型列的最小值 Min(<value>)
StdDev 返回数字、字符串或日期列的标准偏差 StdDev(<value>)
总和 返回数字、字符串或日期类型列的值之和 Sum(<value>)
字符串
名称 说明 语法
AllNonNull2 指示所有参数是否为非null且不为空 AllNonNull2(<string>, <string>)
AllNonNull3 指示所有参数是否为非null且不为空 AllNonNull3(<string>, <string>, <string>)
Ascii 返回字符串中第一个字符的ASCII值。 Ascii(<string>)
Char 返回与“n”ASCII代码对应的字符 Char(<number>)
Charindex 返回字符串1中字符串2的位置。 Charindex(<string>, <string>)
GetLine 返回字符串的n(从1到n)行 GetLine(<string>)
IfEquals 如果前两个参数相等,则返回第三个参数。 如果不是,则返回最后一个参数 IfEquals(<string>, <string>, <string>, <string>)
IsMemoNull 指示作为参数传递的备忘录是否为null IsMemoNull(<memo>)
JuxtWords 连接作为参数传递的字符串。 如果需要,在字符串之间添加空格。 JuxtWords(<string>, <string>)
JuxtWords3 连接作为参数传递的字符串。 如果需要,在字符串之间添加空格 JuxtWords3(<string>, <string>, <string>)
LPad 返回左边已完成的字符串 LPad(<string>, <number>, <character>)
左侧 返回字符串的前n个字符 Left(<string>, <number>)
长度 返回字符串的长度 Length(<string>)
以小写形式返回字符串 Lower(<string>)
Ltrim 删除字符串左侧的空格 Ltrim(<string>)
Md5Digest 返回字符串MD5键的十六进制表示形式 Md5Digest(<string>)
备忘录包含 指定备忘录是否包含作为参数传递的字符串 MemoContains(<memo>, <string>)
RPad 返回右侧的已完成字符串 RPad(<string>, <number>, <character>)
返回字符串的最后n个字符 Right(<string>)
Rtrim 删除字符串右侧的空格 Rtrim(<string>)
智能 返回带每个单词的第一个字母大写的字符串 Smart(<string>)
子字符串 从字符串的字符n1和长度n2开始提取子字符串 子字符串(<string>, <offset>, <length>)
ToString 将数字转换为字符串 ToString(<number>, <number>)
返回大写字符串 Upper(<string>)
VirtualLink 如果其他两个参数相等,则返回作为参数传递的链接的外键 VirtualLink(<number>, <number>, <number>)
VirtualLinkStr 如果其他两个参数相等,则返回作为参数传递的链接的外键(文本) VirtualLinkStr(<string>, <number>, <number>)
dataLength 返回字符串大小 dataLength(<string>)
日期
名称 说明 语法
AddDays 向日期添加天数 AddDays(<date>, <number>)
AddHours 向日期添加小时数 AddHours(<date>, <number>)
AddMinutes 向日期添加分钟数 AddMinutes(<date>, <number>)
AddMonths 将月数添加到日期 AddMonths(<date>, <number>)
AddSeconds 向日期添加秒数 AddSeconds(<date>, <number>)
AddYears 在日期中添加年数 AddYears(<date>, <number>)
仅日期 仅返回日期(时间为00:00)* DateOnly(<date>)
返回表示日期的数字 Day(<date>)
年度日 返回日期年中的日数 DayOfYear(<date>)
DaysAgo 返回与当前日期相应的日期减去n天 DaysAgo(<number>)
DaysAgoInt 返回与当前日期减n天对应的日期(整数yyyymmdd) DaysAgoInt(<number>)
DaysDiff 两个日期之间的天数 DaysDiff(<结束日期>, <开始日期>)
DaysOld 返回日期的年龄(以天为单位) DaysOld(<date>)
GetDate 返回服务器的当前系统日期 GetDate()
小时 返回日期的小时 Hour(<date>)
小时差异 返回两个日期之间的小时数 HoursDiff(<结束日期>, <开始日期>)
分钟 返回日期的分钟数 Minute(<date>)
MinutesDiff 返回两个日期之间的分钟数 MinutesDiff(<结束日期>, <开始日期>)
返回表示日期月份的数字 Month(<date>)
数月前 返回与当前日期相应的日期减去n个月 MonthsAgo(<number>)
MonthsDiff 返回两个日期之间的月份数 MonthsDiff(<结束日期>, <开始日期>)
MonthsOld 返回日期的月份数 MonthsOld(<date>)
第二 返回日期的秒数 Second(<date>)
SecondsDiff 返回两个日期之间的秒数 SecondsDiff(<结束日期>, <开始日期>)
SubDays 从日期减去天数 SubDays(<date>, <number>)
小时数 从日期减去小时数 SubHours(<date>, <number>)
子分钟 从日期减去分钟数 SubMinutes(<date>, <number>)
子月份 从日期减去月数 SubMonths(<date>, <number>)
子秒 从日期减去秒数 SubSeconds(<date>, <number>)
子年 从日期减去数年 SubYears(<date>, <number>)
ToDate 将日期+时间转换为日期 ToDate(<date + time>)
ToDateTime 将字符串转换为日期+时间 ToDateTime(<string>)
TruncDate 将日期+时间舍入到最近的第二个 TruncDate(@lastModified, <秒数>)
TruncDateTZ 将日期+时间舍入为以秒为单位的给定精度 TruncDateTZ(<date>, <秒数>, <时区>)
TruncQuarter 将日期舍入到季度 TruncQuarter(<date>)
TruncTime 将时间部分舍入到最近的第二个 TruncTim(e<date>, <秒数>)
TruncWeek 将日期舍入到周 TruncWeek(<date>)
TruncYear 将日期+时间舍入到年度的1月1日 TruncYear(<date>)
TruncWeek 返回表示日期周中某天的数字 WeekDay(<date>)
返回表示日期年份的数字 Year(<date>)
年和月 返回表示日期的年份和月份的数字 YearAndMonth(<date>)
YearsDiff 返回两个日期之间的年数 YearsDiff(<结束日期>, <开始日期>)
YearsOld 返回日期的年龄 YearsOld(<date>)
请注意, Dateonly 函数会考虑服务器的时区,而不是运算符的时区。
数字
名称 说明 语法
Abs 返回数字的绝对值 Abs(<number>)
Ceil 返回大于或等于数字的最低整数 Ceil(<number>)
Floor 返回大于或等于一个数字的最大整数 Floor(<number>)
最伟大 返回两个数字中的较大者 最大(<数字1>, <数字2>)
最少 返回两个数字中的较小者 最少(<数字1>, <数字2>)
Mod 返回n1除以n2的整数除的余数 Mod(<number 1>, <number 2>)
百分比 返回以百分比表示的两个数字的比率 Percent(<number 1>, <number 2>)
随机 返回随机值 Random()
圆形 将数字舍入为n小数 Round(<number>, <小数>)
签名 返回数字的符号 Sign(<number>)
ToDouble 将整数转换为浮点 ToDouble(<number>)
ToInt64 将浮点数转换为64位整数 ToInt64(<number>)
ToInteger 将浮点转换为整数 ToInteger(<number>)
Trunc 截断n1到n2小数 Trunc(<n1>, <n2>)
  1. 货币
名称 说明 语法
ConvertCurrency 将来源货币中的金额转换为目标货币中的金额 ConvertCurrency(<amount>, <source currency>, <target currency>, <conversion date>)
格式货币 设置根据所选货币设置显示金额的格式 FormatCurrency(<amount>, <currency>)
Geomarketing
名称 说明 语法
距离 返回两个点之间的距离(以度表示),这两个点由其经度和纬度定义。 距离(<经度A>、<经度A>、<经度B>、<经度B>)
其他
名称 说明 语法
案例 如果条件为true,则返回值1。 否则,返回值2。 Case(When(<condition>, <value 1>), Else(<value 2>))
ClearBit 删除值中的标记 ClearBit(<identifier>, <flag>)
Coalesce 如果值1为零或null,则返回值2,否则返回值1 Coalesce(<value 1>, <value 2>)
解码 如果值1 =值2,则返回值3。 如果不返回值4。 Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else 返回值1(只能用作case函数的参数) Else(<value 1>, <value 2>)
GetEmailDomain 从电子邮件地址提取域 GetEmailDomain(<value>)
GetMirrorURL 检索镜像页面服务器的URL GetMirrorURL(<value>)
If 如果表达式为true,则返回值1。 否则,返回值2 Iif(<condition>, <value 1>, <value 2>)
IsBitSet 指示标记是否在值中 IsBitSet(<identifier>, <flag>)
IsEmptyString 如果字符串1为空,则返回值2,否则返回值3 IsEmptyString(<value 1>, <value 2>, <value 3>)
NoNull 如果参数为NULL,则返回空字符串 NoNull(<value>)
RowId 返回行号 RowId
SetBit 强制值中的标记 SetBit(<identifier>, <flag>)
ToBoolean 将数字转换为布尔值 ToBoolean(<number>)
何时 如果表达式为true,则返回值1。 否则,它返回值2(只能用作case函数的参数) When(<condition>, <value 1>)
窗口功能
名称 说明 语法
Desc 应用降序排序 Desc(<value 1>)
OrderBy 对分区内的结果进行排序 OrderBy(<value 1>)
分区依据 将查询结果分区到表 PartitionBy(<value 1>)
RowNum 基于表分区和排序序列生成行号。 RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))