KendoUI - DataViz - Группировка и агрегирование источника данных JSON на диаграмме

Мне удалось выполнить такую ​​группировку в одних диаграммах, но не в других. Например, предположим, что у меня есть источник данных, который выглядит примерно так:

var pictures = [
  { type: "JPG", len: 20, wid: 15, appr: 17.5, count: 2 },
  { type: "JPG", len: 22, wid: 17, appr: 12.5, count: 3 },
  { type: "JPG", len: 24, wid: 15, appr: 10.5, count: 1 },
  { type: "JPG", len: 22, wid: 4, appr: 17.5, count: 6 },
  { type: "PNG", len: 20, wid: 15, appr: 17.5, count: 4 },
  { type: "PNG", len: 25, wid: 7, appr: 9.5, count: 4 },
  { type: "PNG", len: 21, wid: 11, appr: 21.5, count: 1 }
];

Я хочу сгруппировать по своей категории, которая в данном случае является «типом», я хочу суммировать все остальные поля.

Я могу сделать это довольно просто с помощью столбчатых диаграмм, просто установив:

series: [{aggregate: "sum",categoryField: "type"}]

Однако с маркированными или круговыми диаграммами это не работает, поэтому ищем более универсальный метод. Сначала я «массирую» данные, добавляя это в начале:

var dataSource = new kendo.data.DataSource({
  data: pictures,
  group: {
    field: "type",
    aggregates: [
        { field: "len", aggregate: "sum" },
        { field: "wid", aggregate: "sum" }
    ]
  }
});

dataSource.read();

Я не знаю, почему просто сгруппировать источник данных таким образом недостаточно. Я должен бросить его в массивы и назначить каждый массив серии следующим образом:

var seriesA = [],
  seriesB = [],
  categories = [],
  items = dataSource.view(),
  length = items.length,
  item;

for (var i = 0; i < length; i++) {
  item = items[i];

  seriesA.push(item.aggregates.wid.sum);
  seriesB.push(item.aggregates.len.sum);
}

Это работает до тех пор, пока работает только один valueField для каждой серии. В случае маркированной диаграммы или если я хочу присвоить поле графику гистограмме/столбцу: это не так.

Я считаю, что, должно быть, делаю что-то совершенно неправильно, поскольку преобразования моего несгруппированного объекта JSON в сгруппированный источник данных кендо должно быть достаточно. Ниже мой JSFiddle..

http://jsfiddle.net/DxMb8/4/

Любая помощь будет принята с благодарностью! Спасибо!


person Stephen    schedule 18.10.2013    source источник
comment
Возможно связаны? stackoverflow.com/questions/20214645/   -  person Burke Holland    schedule 04.02.2014