Charts 谷歌图表,聚合/组a过滤数据表
我有一个DataTable、一个DateRangeFilter和一个聚合对象。 我希望可以使用DateRangeFilter来过滤DataTable中的数据,并将聚合限制在过滤后的DataTable中。但事实并非如此。 我是否做错了什么(可能忘记刷新/绘制),或者类似的事情是不可能的 我的代码在这里:Charts 谷歌图表,聚合/组a过滤数据表,charts,google-visualization,Charts,Google Visualization,我有一个DataTable、一个DateRangeFilter和一个聚合对象。 我希望可以使用DateRangeFilter来过滤DataTable中的数据,并将聚合限制在过滤后的DataTable中。但事实并非如此。 我是否做错了什么(可能忘记刷新/绘制),或者类似的事情是不可能的 我的代码在这里: 只能将一个数据表绑定到仪表板/筛选器 为了聚合筛选的数据表 等待ChartWrapper上的'ready'事件 从ChartWrapper聚合筛选的数据表 请参阅以下基于上一个问题的示例 go
只能将一个数据表绑定到仪表板/筛选器 为了聚合筛选的数据表
'ready'
事件google.charts.load('current'{
回调:drawVisualization,
包:['corechart','table','controls']
});
函数drawVisualization(){
var data=new google.visualization.DataTable({
科尔斯:[
{id:'dat_ym',标签:'Start Date',键入:'Date'},
{id:'user id',标签:'user id',类型:'string'},
{id:'customer id',标签:'customer id',类型:'string'},
{id:'s_minutes',标签:'minutes',键入:'number'}
],
行:[
{c:[{v:新日期('2016,01,01')},{v:'44836'},{v:'67205'},{v:1122}]},
{c:[{v:新日期('2016,01,01')},{v:'86495'},{v:'67205'},{v:332}]},
{c:[{v:新日期('2016,01,01')},{v:'44836'},{v:'228626'},{v:0}]},
{c:[{v:新日期('2016,01,01')},{v:'86495'},{v:'228626'},{v:334}]},
{c:[{v:新日期('2016,02,01')},{v:'44836'},{v:'67205'},{v:554}]},
{c:[{v:新日期('2016,02,01')},{v:'86495'},{v:'67205'},{v:0}]},
{c:[{v:新日期('2016,02,01')},{v:'44836'},{v:'228626'},{v:0}]},
{c:[{v:新日期('2016,02,01')},{v:'86495'},{v:'228626'},{v:544}]},
]
});
变量选项={
hAxis:{title:'',textStyle:{fontSize:'13'},textPosition:'in'},
变量:{title:'',textStyle:{fontSize:'10'},
序列类型:“条”,
图例:{位置:'top',文本样式:{颜色:'black',字体大小:14},
伊斯塔克德:是的
};
//构建仪表板
var dashboard=newgoogle.visualization.dashboard(document.getElementById('dashboard-div'));
var table=new google.visualization.ChartWrapper({
chartType:'表',
containerId:'表分区',
选项:{
allowHtml:是的
}
});
var dateSlider=new google.visualization.ControlWrapper({
controlType:'DateRangeFilter',
containerId:“滑块div”,
选项:{
filterColumnIndex:0
}
});
//表“就绪”事件
google.visualization.events.addListener(表'ready',函数(){
//按日期、客户分组数据
var group_data=google.visualization.data.group(
//从ChartWrapper获取数据表
table.getDataTable(),
[0, 2],
[
{'column':3,'aggregation':google.visualization.data.sum,'type':'number'}
]
);
//对分组数据进行排序
分组的_data.sort([{column:0},{column:1}]);
//获得独特的客户
var custGroup=google.visualization.data.group(
数据,
[2]
);
//建立客户数据表
var custData=new google.visualization.DataTable({
科尔斯:[
{id:'dat_ym',标签:'Start Date',键入:'Date'},
]
});
//为每个客户添加列
对于(var i=0;i
WhiteHat-slamdunk,又来了!很多。我有一个新的小问题。。。on:rowIndex=custData.addRow();setValue(行索引,0,新日期(行日期))。。。有没有办法也将标签设置为值集?我还使用这个逻辑按用户显示客户,所以现在我有了行中的用户id,我想让它显示用户名。我可以使用连接和/或视图,但这只会添加另一层数据。我想在数据表本身中修复它。塔克斯!我已经试过了,我得到一个错误:“custData.setLabel不是一个函数”;(很抱歉,这是setColumnLabel
--引用…setColumnLabel是针对该列的,但我需要将标签设置为我使用custData.addRow()添加的单元格;我不确定是否遵循,单元格可以有值和格式化值,请参阅上一链接中的setCell…?)。。。?
var dashboard = new google.visualization.Dashboard(document.getElementById('daterange_div'));
dashboard.bind(slider, tableChart);
dashboard.draw(dataAll);
var grouped_data = google.visualization.data.group(
dataAll,
[0, 2],
[
{'column': 3, 'aggregation': google.visualization.data.sum, 'type': 'number'}
]
);