numberDisplay - 通过最大键过滤

weixin_38121048 2019-09-12 03:49:26

我有一个dc.js仪表板具有按月/周期分组的历史人员,疾病等信息。仪表板的用户希望看到顶部数字显示的最近月份数据(例如人员总数,疾病发生率等)。 我的数据: var data= [ { "Month": "01/02/2014","Period": 201402,"Heads": 15123,"SchedHours":146000,"Sickness": 0,}, { "Month": "01/03/2014","Period": 201403,"Heads": 15100,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/04/2014","Period": 201404,"Heads": 14900,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/05/2014","Period": 201405,"Heads": 14800,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/06/2014","Period": 201406,"Heads": 14750,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/07/2014","Period": 201407,"Heads": 14720,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/08/2014","Period": 201408,"Heads": 14000,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/09/2014","Period": 201409,"Heads": 13750,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/10/2014","Period": 201410,"Heads": 13500,"SchedHours": 146000,"Sickness": 0,}, { "Month": "01/11/2014","Period": 201411,"Heads": 13200,"SchedHours": 146000,"Sickness": 0,}, ....] 我可以计算出如何在默认情况下做到这一点时,使用可变仪表板首次加载: maxPeriod = dimPeriod.top(1)[0].Period; 但我努力工作,如何更新上面的变量以更新numberDisplay,以始终过滤它以显示最大周期或月份的头部。 我目前使用展示戈登另一个问题好心提供的功能的最新数字“元首”的: function choose_bin(group, key) { return { value: function() { return group.all().filter(kv => kv.key === key)[0].value; } } } 我的组则是: var latestMonth = choose_bin(groupHeads3, maxPeriod); 和numberDisplay: numberChart .group(latestMonth) .valueAccessor(x => (x)) .formatNumber(d3.format(".0f")); 我有一个基本的jsfiddle,显示问题(只要应用过滤器,值为0):https://jsfiddle.net/kevinelphick/mzpoe555/2/ 我打算做的是根据在折线图中过滤的最高时间段更新Heads值。我还希望包括最高期价值之前的月份,并提供两者之间的比较以显示趋势。 预先感谢您。






...全文
1 点赞 收藏 1
写回复
1 条回复
weixin_38121094 2019年09月12日

你只是没有在运行时计算足够的东西。每次查询组时,都需要计算maxPeriod及其后的所有内容。你可能会想要做这样的事情(如果你把它放到你的JSFiddle中,它可以工作: var latestMonth = { all: function() { maxPeriod = dimPeriod.top(1)[0].Period; return [choose_bin(groupHeads3, maxPeriod).value()] } }
回复 点赞
发动态
发帖子
其他技术讨论专区
创建于2021-05-12

5

社区成员

79.2w+

社区内容

其他技术讨论专区
社区公告
暂无公告