首页 > 解决方案 > 如何在使用 Groovy 附加两个数据集时添加具有某个常数值的新列?

问题描述

我有多个每月数据集,每个数据集有 50 个变量。我需要附加这些数据集以创建一个数据集。但是,我还想在附加的同时将月份的名称添加到相应的记录中,以便我可以在最终数据集中看到一个新列,该列可用于识别属于一个月的记录。

例子:

数据1:Monthly_file_201807

ID   |   customerCategory    |    Amount   |
1    |    home               |    654.00   |
2    |    corporate          |    9684.65  |

数据 2:Monthly_file_201808

ID   |   customerCategory    |    Amount   |
84   |    SME                |    985.29   |
25   |    Govt               |    844.88   |

在附加时,我想要这样的东西:

ID   |   customerCategory    |    Amount   |   Month  |
1    |    home               |    654.00   |   201807 |
2    |    corporate          |    9684.65  |   201807 |
84   |    SME                |    985.29   |   201808 |
25   |    Govt               |    844.88   |   201808 |

目前,我正在使用以下代码进行附加:

List dsList = [

Data1Path,
Data2Path
].collect() {app.data.open(source:it)}

//concatenate all records into a single larger dataset
Dataset ds=app.data.create()

dsList.each(){
ds.prepareToAdd(it) 
ds.addAll(it)
}
ds.save()

app.data.copy(in: ds, out: FinalAppendedDataPath)

我使用了标准的附加代码,但无法在其中添加具有固定值月份的附加列。我不想遍历数据来创建额外的“月”列,因为我的数据非常大并且我有多个文件。

标签: groovydatasetanalytics

解决方案


推荐阅读