J'ai une table avec deux clés, comme ceci:En utilisant data.group pour visualisation de Google Dashboards
+------+------+-------+
| key1 | key2 | value |
+------+------+-------+
| abc | 123 | 5 |
| abc | 456 | 7 |
| abc | 789 | 9 |
| xyz | 123 | 2 |
| xyz | 456 | 4 |
| xyz | 789 | 6 |
+------+------+-------+
Je veux être en mesure de filtrer ce tableau par key2, donc je créé un google.visualization.Dashboard
comme ceci:
var dashboard = new google.visualization.Dashboard();
dashboard.bind([
new google.visualization.ControlWrapper({
"controlType": "CategoryFilter",
"containerId": "...",
"options": {
"filterColumnIndex": 1
}
});
], [
new google.visualization.ChartWrapper({
"chartType": "Table",
"containerId": "...",
"options": {...}
});
]);
maintenant, voici le hic: Je voudrais ajouter un diagramme circulaire à ce tableau qui regroupe les données par key1. Donc, sans aucun filtrage, le graphique montrerait quelque chose comme:
abc = 21
xyz = 12
Mais si je filtré jusqu'à « 456 », alors il doit montrer:
abc = 7
xyz = 4
Maintenant, si je n'utilise un tableau de bord , je peux accomplir cette agrégation comme ceci:
var graph = new google.visualization.PieChart();
var aggregatedData = google.visualization.data.group(
data,
[0],
[{
"column": 2,
"aggregation": google.visualization.data.sum,
"type": "number"
}]
);
graph.draw(aggregatedData);
Cependant je ne sais pas comment effectuer cette agrégation dans un tableau de bord