我正在努力创建定制的三维聚合,以便在车间应用程序图表中使用。
我试着计算trs = trs_time/(ntrs_time + trs_time)
随时间的变化,以便在车间图表中使用。下面是我用来做这件事的代码。在下一步中,我试着做类似的事情,但要按machine_number - plcId
对trs
随时间的变化进行分段(注解segmentBy
代码行)问题是,由于我对Type Script的理解很差,我很难为三维聚合计算trs
(取trs_time
和ntrs_time
的和,并以正确的方式将它们相除)。
export class MyFunctions {
@Function()
public async trs_example(data: ObjectSet<PerformanceProduction>): Promise<TwoDimensionalAggregation<IRange<Timestamp>, Double>> {
const sum_trs = await data
.filter(col => col.type.exactMatch("trs_h"))
.groupBy(col => col.reportingDate.byDays())
// .segmentBy(col => col.plcId.topValues())
.sum(col => col.time);
const sum_ntrs = await data
.filter(col => col.type.exactMatch("ntrs_time"))
.groupBy(col => col.reportingDate.byDays())
// .segmentBy(col => col.plcId.topValues())
.sum(col => col.time);
let n = sum_trs['buckets'];
const m = sum_ntrs['buckets'];
n.forEach((num1, index) => {
const num2 = m[index];
let calc = (num1['value']/(num2['value']+num1['value']));
n[index]['value'] = calc;
});
console.log(n)
return {'buckets': n}
}
我需要一种方法来访问相同time_range和plc_id的sum_trs和sum_ntrs。
1条答案
按热度按时间ar7v8xwq1#
我设法用另一个循环访问它,如其中一个注解中所示,我以前试过,但我忘记调用值属性...