我想在Google电子表格中创建包含数据的自定义图表。但它没有那么好用。你能给我一些建议吗?
这是我的电子表格中的考勤数据的数据结构
Date | John | Allen | Danny
11 Feb | Yes | No | Yes
12 Feb | No | Yes | Yes
13 Feb | Yes | Yes | Yes
提前致谢
答案 0 :(得分:0)
要创建每日出勤率图表,您需要使用带有计算列的DataView
,并将每天的“是”值相加:
var view = new google.visualization.DataView(data);
view.setColumns([0, {
type: 'number',
label: 'Attendance',
calc: function (dt, row) {
// assumes all columns after the first are yes/no columns for tracking attendance
var attendance = 0;
for (var i = 1; i < dt.getNumberOfColumns(); i++) {
attendance += (dt.getValue(row, i) == 'Yes') ? 1 : 0;
}
return attendance;
}
}]);
要按人员出勤,您需要使用google.visualization.data.group
功能:
var groupColumns = [];
for (var i = 1; i < data.getNumberOfColumns(); i++) {
groupColumns.push({
type: 'number',
label: data.getColumnLabel(i),
aggregation: function (vals) {
var attendance = 0;
for (var j = 0; j < vals.length; j++) {
attendance += (vals[j] == 'Yes') ? 1 : 0;
}
return attendance;
}
});
}
var groupedData = google.visualization.data.group(data, [{
type: 'number',
column: 0,
modifier: function () {return 0;}
}], groupColumns);