我需要基于两个对象创建一个数据透视表。为此,我的第一步是连接两个对象,然后通过打字稿函数获得一个组合对象。从该对象中,我将 groupBy 并执行一些聚合函数(sum,min)并获取所需的列。请建议我这样做的方法。
我试过下面的代码:
public async test(p1: ObjectSet<objecta>,c1: ObjectSet<objectb>): Promise<ObjectSet<objectc> {
const [results1, results2]= await Promise.all([
#three dimensional aggregation
p1
.groupBy(a1 => a1.year.topValues())
.segmentBy(a1 => a1.code.byFixedWidth(1))
.sum(a1=>a1.amt),
c1
.groupBy(a1=>a1.yr.topValues())
.segmentBy(a1 => a1.code.byFixedWidth(1))
.sum(a1 => a1.FullAmt),
]);
# results3 is three dimensional aggregation how to convert it to object set?
const results3 = results1.map(itm => ({
...results2.find((item) => (item.yr === itm.yr) && item),
...itm
}));
}