Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将日期范围筛选器应用于交叉筛选器维度_Javascript_Filter_D3.js_Crossfilter - Fatal编程技术网

Javascript 将日期范围筛选器应用于交叉筛选器维度

Javascript 将日期范围筛选器应用于交叉筛选器维度,javascript,filter,d3.js,crossfilter,Javascript,Filter,D3.js,Crossfilter,我正在尝试使用javascript库(与)对json数据进行分组和过滤 我的json数据有以下字段:week\u date、category、team\u name、title、subtitle 我已经能够成功地对所有记录进行分组,以生成年初至今的总计,使用如下方法: var dimension = data.dimension(function(d) { return d[target]; }); var dimensionGrouped = dimension.group().all();

我正在尝试使用javascript库(与)对json数据进行分组和过滤

我的json数据有以下字段:
week\u date、category、team\u name、title、subtitle

我已经能够成功地对所有记录进行分组,以生成年初至今的总计,使用如下方法:

var dimension = data.dimension(function(d) { return d[target]; });
var dimensionGrouped = dimension.group().all();
其中,
目标
类别
团队名称

除了保留年初至今的总计,我还希望显示给定范围的总计。例如,用户选择的一周(即10月1日至5日)


如何创建一个过滤组,返回给定日期范围的总计?使用我的week_date字段。

经过一些肤浅的研究,包括浏览crossfilter,我得出结论,crossfilter目前不支持对多个字段进行分组

我可以通过使用数据的过滤副本来解决这个问题,例如:

// YTD rows
var crossfilterData = crossfilter(data);
var ytdDimension = crossfilterData.dimension(function(d) { return d[target]; });
var ytdDimensionGrouped = ytdDimension.group().all();
ytdDimensionGrouped.forEach(function (item) {
    // ...
});

// Ranged rows
var filteredData = data.filter(function (d) {
    return d.week_date >= filter[0] && d.week_date <= filter[1];
});
crossfilterData = crossfilter(filteredData);
var rangeDimension = crossfilterData.dimension(function(d) { return d[target]; });
var rangeDimensionGrouped = rangeDimension.group().all();
rangeDimensionGrouped.forEach(function (item) {
    // ...
});
//YTD行
var crossfilterData=交叉过滤器(数据);
var ytdDimension=crossfilterData.dimension(函数(d){返回d[target];});
var ytddimensiongroup=ytdDimension.group().all();
ytdDimensionGrouped.forEach(功能(项){
// ...
});
//排列的行
var filteredData=data.filter(函数(d){
返回d.week\u date>=筛选器[0]&d.week\u date