【发布时间】:2015-03-04 13:07:28
【问题描述】:
我很难正确设置我的交叉过滤器组。也许有人可以给出提示!
我的数据结构或多或少是这样的:
{datetime: "2014-01-01 20:00:00", id:1}
{datetime: "2014-01-01 22:21:08", id:2}
{datetime: "2014-01-02 12:00:23", id:3} etc...
维度在日期时间返回星期几:
var weekdayDimension = ndx.dimension(function(d) {
return new Date(d.datetime).getDay();
});
现在我遇到了分组问题。我想要每个工作日的平均事件数。到目前为止我有(当然不正确)
var weekdayAvgGroup = weekdayDimension.group(function (d) {
return d;
});
我想我不明白那个分组到底在做什么......
我的目标是制作如下图表:
Monday => Average 40.3 Events
Tuesday => Average 35.4 Events
我创建了一个JSFiddle 请看一下。
有人可以给点提示吗?
更新:
经过进一步思考,我可以在日期上创建一个维度。我所要做的就是知道选择的天数以计算
(total amount of events selected/number of selected days)
所以我需要计算日期维度上的组数。但是也没有找到关于这个的解决方案。
谢谢
【问题讨论】:
-
如果您只使用日期时间,您唯一可以计算的就是计数(每周、每个工作日、每月、每年等)。您无法计算平均值。
-
经过一番思考:我唯一需要的就是选择的天数。这不正确吗?因此,如果我要在日期上创建一个维度,我如何获得所选天数...
-
恐怕对我来说还不够清楚:/ 也许从数据中解释一下你是如何达到 40.3 和 35.4
-
我在下面完全修改了我的答案,因为我意识到你在谈论二级聚合,这有点挑战。可能为时已晚,但我想我会再试一次,以防它帮助别人。
标签: javascript dc.js crossfilter