Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 d3重新汇总嵌套对象_Javascript_Json_D3.js - Fatal编程技术网

Javascript d3重新汇总嵌套对象

Javascript d3重新汇总嵌套对象,javascript,json,d3.js,Javascript,Json,D3.js,在我的代码中,我使用d3.nest()函数(附带输出示例)从数据集中删除了重复的行 现在我的JSON数组中有了唯一的条目,我想对这个数据集执行一些计算,特别是查找每个日期的平均“周期时间”。在本例中,理想情况下输出如下: [ { "key": "2012-03", "values": [ { "mean": 16, } ] }, { "key": "2012-06", "values": [

在我的代码中,我使用d3.nest()函数(附带输出示例)从数据集中删除了重复的行

现在我的JSON数组中有了唯一的条目,我想对这个数据集执行一些计算,特别是查找每个日期的平均“周期时间”。在本例中,理想情况下输出如下:

[
  {
    "key": "2012-03",
    "values": [
      {
        "mean": 16,
      }
    ]
  },
  {
    "key": "2012-06",
    "values": [
      {
        "mean": 10,
      }
    ]
  },
  {
    "key": "2012-07",
    "values": [
      {
        "mean": 8,
      }
    ]
  }
]
我在网上尝试了以下几个例子,但我似乎遗漏了一些明显的东西,有人能帮忙吗

var summaryTable = [
  {
    "key": "2012-03",
    "values": [
      {
        "key": "AAA-1",
        "value": {
          "cycletime": 14
        }
      },
      {
        "key": "AAA-2",
        "value": {
          "cycletime": 18
        }
      }
    ]
  },
  {
    "key": "2012-06",
    "values": [
      {
        "key": "AAA-3",
        "value": {
          "cycletime": 8
        }
      },
      {
        "key": "AAA-4",
        "value": {
          "cycletime": 12
        }
      }
    ]
  },
  {
    "key": "2012-07",
    "values": [
      {
        "key": "AAA-5",
        "value": {
          "cycletime": 15
        }
      },
      {
        "key": "AAA-5",
        "value": {
          "cycletime": 1
        }
      },
      {
        "key": "AAA-6",
        "value": {
          "cycletime": 8
        }
      }
    ]
  }
]

var d3Table = d3.nest()
    .key(function(d) { return d['key']; })
    .rollup(function(d) { 
        return {
                "medianCycleTime": d3.mean(d, d3.values(d['values']['value'])),
        };
    })
    .entries(summaryTable);

仔细检查您的
d3.nest
数据后,我找到了要在
汇总中使用的函数

汇总
的参数d是一个包含所有具有该键的对象的数组。您必须首先对其进行索引,否则将得到
数组
类的
values()
方法

var d3Table = d3.nest()
    .key(function(d) { return d['key']; })
    .rollup(function(d) {
        return { 
            "medianCycleTime": d3.mean(d[0]['values'], d => d.value.cycletime ),
        };
    })
    .entries(summaryTable);