DC.js 根据维度计算平均值

DC.js computing mean according to dimension

我有一个看起来像这样的数据集:

MONTH    CAT   VAL
may      A     1.0
may      B     3.2
may      C     4.6
jun      A     2.7
jun      B     4.2
jun      C     5.8
jul      A     4.1
jul      B     9.2
jul      C     13.0

我已经能够在 DC.js 中创建一个图表 根据 CAT 变量 显示 VAL 的总和,代码如下:

let chart = dc.barChart('#chart');

let ndx = crossfilter(data);

let catDim = ndx.dimension(function(d){return d.cat;});
let catGroup = catDim.group().reduceSum(function(d){return +d.val;}); 

chart
    .dimension(catDim)
    .group(catGroup)
    .x(d3.scale.ordinal().domain(catDim))
    .xUnits(dc.units.ordinal)
    .elasticY(true)

我的问题是,我想在图形中显示每个 CAT 的 每月 VAL 的平均值,而不是总和(MONTH 可以在另一个图形中过滤) .

有办法吗?

提前感谢您的回答!

因此,不要使用交叉过滤器来 "just" 跟踪总和,而是使用自定义 reduce 来跟踪总和和项目数量,然后将 valueAccessor 添加到 return x.value.sum/x.value.qty

我建议你使用 reductio 来处理自定义 reduce,检查示例,你有一个平均数。