不确定这是否可能。在我的例子中,我使用json作为源,但这可以是任何大小。在我的fiddle示例中,我将通过绑定两列ProductFamily(xAxis)和Value(yAxis)以共享方式使用此数据,但我希望能够使用聚合对列进行分组。Kendo UI BarChart数据分组
在这个没有分组的例子中,它显示了FamilyA的多个列。 无论数据量如何,这可以分组为一列吗?
因此,结果将显示值为4850 + 4860 = 9710等的FamilyA的一列。
网上所有例子的一个问题是,每个类别总是有正确数量的数据。不确定这是否有意义?
http://jsfiddle.net/jqIndy/ZPUr4/3/
//Sample data (see fiddle for complete sample)
[{
"Client":"",
"Date":"2011-06-01",
"ProductNumber":"5K190",
"ProductName":"CABLE USB",
"ProductFamily":"FamilyC",
"Status":"OPEN",
"Units":5000,
"Value":5150.0,
"ShippedToDestination":"CHINA"
}]
var productDataSource = new kendo.data.DataSource({
data: dr,
//group: {
// field: "ProductFamily",
//},
sort: {
field: "ProductFamily",
dir: "asc"
},
//aggregate: [
// { field: "Value", aggregate: "sum" }
//],
//schema: {
// model: {
// fields: {
// ProductFamily: { type: "string" },
// Value: { type: "number" },
// }
// }
//}
})
$("#product-family-chart").kendoChart({
dataSource: productDataSource,
//autoBind: false,
title: {
text: "Product Family (past 12 months)"
},
seriesDefaults: {
overlay: {
gradient: "none"
},
markers: {
visible: false
},
majorTickSize: 0,
opacity: .8
},
series: [{
type: "column",
field: "Value"
}],
valueAxis: {
line: {
visible: false
},
labels: {
format: "${0}",
skip: 2,
step: 2,
color: "#727f8e"
}
},
categoryAxis: {
field: "ProductFamily"
},
legend: {
visible: false
},
tooltip: {
visible: true,
format: "Value: ${0:N0}"
}
});
我正在尝试创建一个将包含不少图的仪表板,为了给出最终响应,我认为最好创建一个包含所有数据的大json文件,但似乎这种方法是不可能的。然后这个文件可以在所有图形之间共享,但是因为每个图形的结构是如此不同,我将不得不为每个图形创建一个json文件。 – jqIndy
这可能会帮助你http://jsfiddle.net/v8tsQ/42/ – SimonGates
这个问题是,如果你在同一季度在同一家公司的json中有另一个项目,这将显示为一个额外的栏图表。我怎样才能把这个总数加到现有的2011Q2中,这样它仍然只显示1列,共1 + 145 = 146? { “CompanyId”:201, “组名”: “星座”, “SectionName”: “CCLF”, “FindingQuarter”: “2011Q2”, “DataElement”: “合计”, “DataValue” :“”, “Total”:145 }, – jqIndy