我希望构建一个客户端仪表板框架,用户可以在其中创建新的仪表板,添加portlet,沿网格系统定位,调整大小,关闭,....
仪表板外观应该可以用CSS控制.我正在寻找一个商业友好的开源解决方案,用于创建基于d3.js的交互式仪表板系统.
我正在寻找一种嵌入商业应用程序的交互式探索工具.我正在寻找一个商业友好的许可开源替代美妙的Tableau系统
我正在为时间报告应用程序开发d3.js可视化.我在包含项目时间报告的数组实际中有行数据(简化):
[{ resource: "John Smith",
reporting_period: "2012/04/1",
project: "Java implementation",
hours: 8}
... }]
Run Code Online (Sandbox Code Playgroud)
我试图使用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);
Run Code Online (Sandbox Code Playgroud)
但它仅在叶级返回tot_hours.关于如何仅使用d3.nest来解决这个问题的任何建议?