我有一个数据集,我正在使用的是随着时间的推移建筑和电力的使用。还原比例的最大值
这些建筑物上有两个聚合体,在整个时间范围内都是简单的总和,我写了这些聚合体。他们最终看起来像:
var reducer = reductio();
// How much energy is used in the whole system
reducer.value("energy").sum(function (d) {
return +d.Energy;
});
这些工作很好。
然而,第三次聚合给我带来了一些麻烦。我需要找到所有建筑物的总和最大的点。我需要最大的总和和它发生的时间。 我写道:
reducer.value("power").sum(function (d) {
return +d.Power;
}).max(function (d) {
return +d.Power;
}).aliasProp({
time: function (d, v) {
return v.Timestamp;
}
});
但是,这并不一定是最大的电力使用。我很确定这会返回任何建筑物使用最多功率的总和和时间。
因此,如果功率值是1,1,1,15,我会以18为结束,当时可能有不同的时刻,当值为5,5,5,5时,总共为20。 20是我需要的。
我不知道如何获得最大数额。有什么建议?
当我设置我不使用组的时间范围,我使用[筛选方法](https://github.com/crossfilter/crossfilter/wiki/API-Reference#dimension_filter)。 这是一个不可取的方法? –
那么你在分组?对不起,我不明白。你能分享一个有效的例子 - 这可能会有很大的帮助。 –
我不是分组(或者说,我在维上使用GroupAll())。据我了解,聚合不适合跨组。 我有数据集,我根据时间范围对其进行过滤,然后聚合这些值。在原始帖子中用作示例的能量需要是过滤范围内整个数据集的总和。如果我对维度进行分组,那么我将为每个组分配一个能量总和,并且我将不得不手动对它们求和。 我的理解有什么不正确吗? –