私は時間レポートアプリケーションのd3.js視覚化に取り組んでいます。プロジェクト時間レポートを含む配列actualsに行データがあります(簡略化):
[{ resource: "John Smith",
reporting_period: "2012/04/1",
project: "Java implementation",
hours: 8}
... }]
d3.nest演算子を使用して、プロジェクトの実績をプロジェクト、リソース、および期間ごとに階層的にグループ化しようとしています。すべてがうまく機能しますが、 nest.rollup()演算子を使用して、グループ化の中間レベルで時間の小計を取得する方法を見つけることができません。
私は次のようなものを持っています:
actuals_by_prj_rsrc_period = d3.nest()
.key(function(d) { return d["project"]; })
.key(function(d) { return d["resource"]; })
.key(function(d) { return d["reporting_period"]; })
.rollup(function(rows) {return {
tot_hours:d3.sum(rows, function(d) {return d["hours"];}),
actuals: rows
};})
.entries(actuals);
ただし、 tot_hoursはリーフレベルでのみ返されます。d3.nestのみを使用してこれにアプローチする方法に関するアドバイスはありますか?