目录

Search

  1. 前言
  2. 转换简介
  3. 转换端口
  4. 转换缓存
  5. 地址验证器转换
  6. 汇总器转换
  7. 关联转换
  8. 离散记录异常转换
  9. 大小写转换器转换
  10. 分类器转换
  11. 比较转换
  12. 合并转换
  13. 数据屏蔽转换
  14. 数据处理器转换
  15. 判定转换
  16. 重复记录异常转换
  17. 表达式转换
  18. 筛选器转换
  19. 层次结构到关系转换
  20. Java 转换
  21. Java 转换 API 引用
  22. Java 表达式
  23. 联接器转换
  24. 键生成器转换
  25. 标签创建器转换
  26. 查找转换
  27. 查找缓存
  28. 动态查找缓存
  29. 匹配转换
  30. 字段分析中的匹配转换
  31. 标识分析中的匹配转换
  32. 规范器转换
  33. 合并转换
  34. 解析器转换
  35. Python 转换
  36. 等级转换
  37. 读取转换
  38. 关系到层次结构转换
  39. REST Web 服务使用者转换
  40. 路由器转换
  41. 序列生成器转换
  42. 排序器转换
  43. SQL 转换
  44. 标准创建器转换
  45. 联合转换
  46. 更新策略转换
  47. Web 服务使用者转换
  48. 解析 Web 服务 SOAP 消息
  49. 生成 Web 服务 SOAP 消息
  50. 加权平均值转换
  51. 窗口转换
  52. 写入转换
  53. 转换分隔符

Developer 转换指南

Developer 转换指南

未连接的查找示例

未连接的查找示例

加利福尼亚的一个零售店在向该州客户所售商品的每个定价中都添加了州营业税。 税额取决于客户所在的县。 要检索营业税,请创建一个查找转换以检索县名称并返回对应于该县的营业税额。 如果该县不收取营业税,则查找转换将返回空值。 在表达式转换中调用查找。
通过完成以下步骤,可配置对营业税的未连接查找(按县):
  1. 导入包含各县营业税额的平面文件物理数据对象。
  2. 创建未连接的查找转换。
  3. 向查找转换添加输入端口。
  4. 定义返回端口。
  5. 创建查找条件。
  6. 在表达式转换中调用查找。

步骤 1。 将营业税查找源导入模型存储库中。

创建查找转换之前,营业税文件必须位于模型存储库中。 在此方案中,营业税文件包含两个字段:Sales_County 和 County_SalesTax。 Sales_County 是一个包含县名称的字符串。 County_SalesTax 是一个包含县税率的小数字段。 营业税文件为查找源。

步骤 2。 创建未连接的查找转换

使用营业税平面文件数据对象创建可重用的平面文件查找转换。 在此方案中,该转换的名称为 Sales_Tax_Lookup。 存在多项匹配时,请选择
返回第一行

步骤 3。 定义查找转换端口

属性
视图的
端口
选项卡中定义查找转换端口。
端口类型
名称
类型
长度
小数位数
输入
In_County
String
25
输出
SalesTax
Decimal
3
3

步骤 4。 配置查找转换返回端口

返回端口是平面文件中查找所检索的字段。 在
选项卡中,County_SalesTax 列为返回端口。
如果查找为 true,则集成服务会在平面文件源中找到县。 集成服务将在返回端口中返回营业税值。 如果集成服务未找到县,则查找结果为 false,集成服务将在返回端口中返回空值。

步骤 5。 定义查找条件

查找
视图中定义查找条件,以便将输入值与查找源中的值进行比较。
要添加查找条件,请单击
查找列
查找条件使用以下语法:
SALES_COUNTY = IN_COUNTY

步骤 6。 创建表达式转换

创建用于从平面文件检索销售记录的表达式转换。 该表达式转换将检索客户编号、销售额以及销售所属的县, 并返回客户编号、销售额和营业税。
该表达式转换具有以下端口:
端口类型
名称
类型
长度
精度
默认值
输入
County
String
25
10
传递
Customer
String
10
传递
SalesAmt
Decimal
10
2
输出
SalesTax
Decimal
10
2
0
SalesTax 端口包含一个 :LKP 表达式。 该表达式调用 Sales_Tax_Lookup 转换并将县名称作为参数进行传递。 Sales_Tax_Lookup 转换将营业税率返回给该表达式。 表达式转换将此税率与销售额相乘。
对于 SalesTax 端口,输入以下表达式:
(:LKP.Sales_Tax_Lookup(County) * SalesAmt)
SalesTax 端口包含表达式结果。 如果查找失败,则查找转换会返回空值,因此 SalesTax 端口将包含空值。
您可以添加一个表达式来检查 SalesTax 端口中是否存在空值。 如果 SalesTax 为空值,则可以配置 SalesTax 端口以返回零。 将以下文本添加到查找表达式中以检查是否存在空值,如果存在,则返回零:
IIF(ISNULL(:LKP.Sales_Tax_Lookup(County) * SalesAmt),0, SalesTax)