• Restcloud ETL实践之数据行列转换


    RestCloud ETL社区版是一款数据集成工具,提供可视化多数据管道构建、数据源管理、运行监控及权限管理功能

    本篇将使用多行转多列的方式把下方图中的表数据进行简化。

    简化思路:把相同姓名中不同的学科成绩转成列名,将数据库中三行数据转变成一行数据显示。

    首先是流程设计

    这里使用了三个组件,分别是库表输入、多行转换为多列、库表输出,库表输入获取表数据,再由多行转多列将数据结构重新分配,再借由库表输出将数据输出成一个新的数据库表。

    组件配置

    1.库表输入

    这里主要是用于获取数据,只需要配置数据源以及数据库表,确保能够输入数据即可,其它采用自动生成的就行了。

    2.多行转多列

    在数据所在的节点中选中源数据所在的节点,获取需要进行转换的数据。

    分组字段中选中要进行分组的字段,比如根据上面的数据库,同一名字下有三个学科的成绩,那就可以选中XM这个字段。

    关键字段id这里就是要选择将值转为列的字段。

    这里根据基本属性中选中的关键字段id,获取关键字段id里的值,再根据这个值去获取数据字段里对应的数据放到对应的新的目标字段中。

    3.库表输出

    这里选择输出的数据源,以及表名。

    字段配置中需要配置输出的字段以及转换后的新的目标字段,去掉不需要的字段。如已经作为条件变成了列名的KCMC字段和值已经赋给了新字段的CJ字段。

    输出时不要忘记,若是新表则需要选择自动创建表。

    完成配置后运行流程。

    在日志中可以看见提示了创建表成功以及成功插入了数据。

    数据库中也成功写入了数据。

     


     感谢您对我们的关注和支持!如需了解更多的功能,请加入RestCloud ETL社区免费下载体验,下载地址:https://etl.restcloud.cn

  • 相关阅读:
    python正则表达(06)
    车间管理系统哪家好
    【Python】创建一个简易服务器并实现移动端快速访问电脑文件
    自用——平衡小车代码
    BASE64算法原理解析之C#实现
    [Python]Django 数据库数据的增删改查
    vuex为什么要存在?它与浏览器缓存的区别?
    String vs StringBuffer vs StringBuilder
    MySQL计算时间差
    【每日一题】只出现一次的数字 II
  • 原文地址:https://blog.csdn.net/RestCloud/article/details/125505318