Row normaliser(行转列)此步骤将输入流的行转换为列。可以使用此步骤对列的重复组进行规范化。
行转列
Row normaliser(行转列))步骤有以下选项:
Step name(步骤名称):在画布上指定Row normaliser(行转列)步骤的唯一名称。您可以自定义名称或将其保留为默认名称。
Type field(Type字段):指定输出数据中的新列的名称。
字段
Fieldname(字段名称):要规范化的字段的名称。
Type(Key值):指定用于对字段进行分类的字符串。
new field(Value字段):指定要在其中传输新值的字段。
Get Fields(获取字段):检索流中传入的所有字段的列表。
示例采用一个栏目的每月访问量统计数据为基础演示数据,把栏目每月访问量一行数据转换以月为列的多行数据。
1.建立数据库连接对象
示例采用mysql数据库作为示例,首先下载mysql驱动
然后放在在文件夹data-integrationlib下。然后重启Spoon。如果已经添加过mysql驱动,则可由忽略此步骤。
切换至主对象树,双击DB连接。
添加DB连接
然后选项连接类型为mysql,并维护相关的链接信息。
维护数据库连接
连接信息维护完之后,点击测试,测试连接是否成功。
2.获取栏目每个月访问量统计表catalog_traffic数据作为数据输入源。
添加一个表输入步骤,数据库连接上面创建的DB连接名称demo,然后从获取SQL查询语句中选择表catalog_traffic,即可。
最后点击预览,预览结果数据。
预览数据
3.添加转换中的行转列步骤,并配置行转列选项
添加一个转换中的行转列。并建立从表输入到行转列的一个节点连接。
建立节点连接
在行转列配置key字段为month,然后获取点击获取字段,保留month1…month12,作为行专列字段,然后对应的key值为1…12,为对应月份的值。Value的值设置为:count。
最后保存并点击运行。