说在前面

  • 操作系统:win10
  • kettle版本:8.3
  • 数据集:Soda

场景

  • 存在表order内容如下:
    在这里插入图片描述
    需要将单个订单中的所有商品放在同一行中。

当前实现思路

  • 方案一:分组排序后列转行
  • 其他方案:应该有更快捷的实现,当前没找到

具体操作

  • 方案一

    • 整体结构
      在这里插入图片描述
    • CSV文件输入
      在这里插入图片描述
    • 字段选择
      因为我们只需要订单号以及商品名;
      在这里插入图片描述
    • 排序记录
      在使用分组前需要进行排序
      在这里插入图片描述
    • 分组
      在这里插入图片描述
      结果预览 (emmm,商品序号那个字段请忽视)
      在这里插入图片描述
    • 根据字段值来改变序列
      当订单号的值更改后会重新从1开始计数
      在这里插入图片描述
      结果预览 (emmm,商品序号那个字段请忽视)
      result为序号
      在这里插入图片描述
    • 字段选择
    • 列转行
      转换关系见下面的表格
      在这里插入图片描述
      结果预览
      在这里插入图片描述
    • 字段选择
    • 文本文件输出
      在这里插入图片描述在这里插入图片描述
    • 结果
      在这里插入图片描述
    • 转换关系
分组字段关键字段数据字段
订单号1关键值1数据值1
订单号1关键值2数据值2
订单号1关键值3数据值3
订单号2关键值2数据值4
订单号2关键值3数据值5
分组字段关键值1关键值2关键值3
订单号1数据值1数据值2数据值3
订单号2数据值4数据值2
  • 其他方案

    • 待补充
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐