文章目录
前言:本文介绍的是FME在数据处理中常用于数据测试、数据过滤和数据筛选的转换器
Tester 和
TestFilter。
Tester and TestFilter
一、定义
1.1 Tester
通过特定的条件来判断数据是否符合指定的要求。
1.2 TestFilter
等于使用多个Tester转换器,可以将符合不同要求的数据从不同的输出端口导出。
1.3 区别
两者的区别是Test转换器只进行一次判断,输出结果只有Passed(通过)和Failed(不通过),而TestFilter转换器循允许多级判断,而且允许自定义命名输出端口的名称。两者类似编程语言中的<IF…ELSE>和<IF…ELSE IF…ELSE…>的区别。
二、如何工作
2.1 工作流
首先调出Tester和TestFilter转换器,然后将输入文件连接输入端口,接着打开转换器参数窗口进行设置。
2.2 Tester参数设置
在Test Clauses中设置测试条件,包括测试值、测试运算符和连接逻辑。
判断的方式是:将 Left Value 与 Right Value 基于运算符进行比较。
Left Value 和 Right Value的内容可以是来自输入的属性值、运算表达式、FME属性、公有私有变量或自定义的内容。
运算法则有:
运算符 | 描述 | 值设置 |
---|---|---|
= | 等于 | |
!= | 不等于 | |
< | 小于 | |
> | 大于 | |
<= | 小于等于 | |
>= | 大于等于 | |
In Range | 测试值是否落在指定的数值范围,无边界范围可以通过不设定最大或最小值指定 | 方括号:[ ]表示包含限制值。圆括号:()表示不包含限制值。栗子:(1,9)、[1,9]、(1,9]、(1,)、[,9] 。注意:当大小敏感时无效 |
In | 测试值是否在指定的列表范围内,包括数字和字符 | 通过连字符“-”和分隔符“,”来组合表达列表范围。栗子:1,10,100、1-99、a-z,A-Z、cat,dog,cats and dogs、dogs,1-9,10 |
Like | 测试值是否匹配指定的字符模式 | 需要设置指定的字符和通配符(%),栗子:%徐%,则“蔡徐坤”可以通过,“徐坤”不能通过。注意,当模式为数值时无法使用 |
Contains | 测试值是否包含指定的字符 | 类似运算符(Like),但是不用添加通配符% |
Begins With | 测试值是否用指定的字符开头 | |
Ends With | 测试值是否用指定的字符结尾 | |
Contains Regex | 测试值是否匹配指定的正则表达式 | |
Type Is | 测试值是否为指定的字段类型 | 栗子:Boolean、Double、Integer、Numeric、Alphanumeric、String、XML、JSON |
Encodable | 测试值是否为指定的编码格式 | 栗子:Unicode 32-bit(utf-32)、Windows Cyrillic (windows-12510)、EBCDIC US (ibm037) |
Attribute has a value | 测试属性是否有值 | |
Attribute Is Null | 测试属性是否为空 | |
Attribute is Empty String | 测试属性是否为空字符串 | |
Attribute is Missing | 测试属性是否缺失 |
FME2018版本有取反的功能,FME219则取消了这个功能,并且逻辑连接的方式也有所不同。
- FME2018中的Tester转换器:
- FME2019中的Tester转换器:
2.3 TesterFilter参数设置
TesterFilter等于使用多个Tester转换器,可以自定义命名每个输出端口的名称,用法类似编程中的<IF…ELSE IF…ELSE…>。
参数的设置参照Tester转换器。
2.4 官方文档
英文好的同学建议直接看官方文档,传送门:
Tester
TestFilter
三、其他
对FME有兴趣的人可以去看看我的个人博客:蓝线白框
打不开的话,请戳这里:博客地址
今天的文章fme转换器手册 2019_转换精度最高的ad转换器是啥分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88434.html