当前位置:网站首页>kettle 分列、合并记录
kettle 分列、合并记录
2022-07-27 16:28:00 【黑暗料理界的扛把子】
项目当中遇到一个问题
一个班级会和其他班级合班。合班的数量不一定。
目前人数= 合班班级目前人数之和。
处理思路
分列,获取班级目前人数,过滤,排序记录、分组、输出结果
实践
1、目前数据的原始格式:

2、分列
分列组件位于:转换-》列拆分为多行
分列组件需要制定拆分字段、分隔符。在特殊需求下可以结合正则表达式进行数据拆分。

分列后结果:

3、获取目前人数
目前疑惑:一个excel sheet 去另外一个sheet 当中查找数据 如何在 kettle 当中实现。
在数据库当中查找相应数据,并把原始数据当中的班号、合班关联班级、dudu作为参数传入 。dudu作为查询条件。
注意 :上一步字段的传入顺序 将和sql 当中的 ? 对应

在数据库查询完成之后需要对数据的格式进行改变(不然合并记录会报错):

4、合并记录(链接-》合并记录)
为了和原有数据对比,进行记录合并,筛选出赋值的数据。
旧数据源:原本的数据(列转行,不包含人数信息)。
新数据源:从数据库查找的数据(包含人数信息)。
标志字段:默认为flagfield,自己可以进行修改。此字段是对比之后的结果。
| identical | 旧数据和薪数据一样 |
| changed | 数据发生了变化 |
| new | 新数据当中有而旧数据没有的记录 |
| deleted | 旧数据中有而新数据当中没有 |
关键字段:用于定位两个数据源中的同一记录。
比较字段:对于两个数据源中的同一条记录中,制定需要比较的字段。

经过此步骤之后出现的数据:

5、过滤记录(流程-》过滤记录)
过滤记录需要根据上步骤的 标志字段 进行,即根据标志字段(dudu_1)的值进行过滤
此步骤我们值需要对值不是deleted的数据进行处理。(按道理此步骤多余,都应该处理,deleted说明数据库查询时没匹配到值)。

6、排序合并(转换-》排序记录,统计-》分组)
排序记录:只需要制定根据哪个字段排序即可。

分组:分组字段:排序记录当中选定的字段
名称:自己命名,该字段为操作后产生数值的列名
subject :进行运算的字段
类型:字段进行运算的类别,求和、均值、最大、最小等。
点击确认产生的警告无视即可,单分组之前必须要有排序记录。

最后输出统计结果即可,查询时只有要保证全部数据能够在数据库当中找到才能保证最后结果的准确性。
解决问题的方法有很多种,欢迎各位指正。
指正微信:c243126035
边栏推荐
- Nodejs template engine EJS
- MySQL learning notes (2) -- stored procedures and stored functions
- Unity显示Kinect捕获的镜头
- Win10 tips (1) -- transfer desktop location
- Automatic testing of Web UI: Selenium syntax explanation is the most complete in the history
- 电磁场学习笔记-矢量分析和场论基础
- Unity learning notes (realize the conveyor belt)
- Latex使用-控制表格或者图形的显示位置
- 专项测试之「 性能测试」总结
- 功率单位(power control)
猜你喜欢

express

MySQL 06 transaction, view, index, backup and recovery

mysql学习笔记(1)——变量

SSM integration

Self control principle learning notes - system stability analysis (1) - BIBO stability and Routh criterion

连续时间系统的性能分析(2)-二阶系统性能改善方式PID,PR

Kinect for Unity3d----KinectManager

收下这份实操案例,还怕不会用Jmeter接口测试工具

`this.$emit` 子组件给父组件传递多个参数

Jmeter接口自动化-如何解决请求头Content-Type冲突问题
随机推荐
Code interview of Amazon
Role authorization --- complete the addition and deletion of secondary menus by adding and deleting primary menus
汇编语言入门基础(1)
Nacos cluster deployment - high availability guarantee
[cloud picture theory] the first time to know Huawei cloud micro service engine CSE in issue 250
C # interaction with MySQL database - MySQL configuration and addition, deletion, query and modification operations
Selenium自动化测试面试题全家桶
mysql学习笔记(1)——变量
Opening and using Alibaba cloud object storage OSS
asp. Net experience
ES6学习笔记(1)——快速入门
Some advice for NS2 beginner.
Kinect for unity3d - backgroundremovaldemo learning
用Matlab生成适用于期刊及会议的图形- plot
CMD 命令
2022备战秋招10W字面试小抄pdf版,附操作系统、计算机网络面试题
ES6数值的扩展
WSN journal indexed by SCI
Matrix of shell programming -- it's cute and cool
PHP字符串操作