google.charts.load('current', {
callback: function () {
var data = new google.visualization.DataTable({
cols: [
{id: 'dat_ym', label: 'Start Date', type: 'date'},
{id: 'user-id', label: 'User-Id', type: 'string'},
{id: 'customer-id', label: 'Customer-Id', type: 'string'},
{id: 's_minutes', label: 'minutes', type: 'number'}
],
rows: [
{c:[{v: new Date('2016, 01, 01')}, {v: '44836'}, {v: '67205'}, {v: 1122} ]},
{c:[{v: new Date('2016, 01, 01')}, {v: '86495'}, {v: '67205'}, {v: 332} ]},
{c:[{v: new Date('2016, 01, 01')}, {v: '44836'}, {v: '228626'}, {v: 90} ]},
{c:[{v: new Date('2016, 01, 01')}, {v: '86495'}, {v: '228626'}, {v: 334} ]},
{c:[{v: new Date('2016, 02, 01')}, {v: '44836'}, {v: '67205'}, {v: 554} ]},
{c:[{v: new Date('2016, 02, 01')}, {v: '86495'}, {v: '67205'}, {v: 819} ]},
{c:[{v: new Date('2016, 02, 01')}, {v: '44836'}, {v: '228626'}, {v: 420} ]},
{c:[{v: new Date('2016, 02, 01')}, {v: '86495'}, {v: '228626'}, {v: 544} ]},
]
});
// group data by date, customer
var grouped_data = google.visualization.data.group(
data,
[0, 2],
[
{'column': 3, 'aggregation': google.visualization.data.sum, 'type': 'number'},
{'column': 3, 'aggregation': doubleSum, 'type': 'number', 'label': 'double minutes'}
]
);
// use custom aggregation
function doubleSum(values) {
var groupValue = 0;
values.forEach(function (v) {
groupValue += (v * 2);
});
return groupValue;
}
var chart = new google.visualization.Table(document.getElementById('chart_div'));
chart.draw(grouped_data);
},
packages:['table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>