2014-02-28 151 views
0

我想用Google電子表格中的數據創建一個自定義圖表。然而它並沒有那麼好。你能給我一些建議嗎?帶谷歌電子表格的谷歌圖表

這是考勤數據的數據結構在我的電子表格

Date | John | Allen | Danny 
11 Feb | Yes | No | Yes 
12 Feb | No | Yes | Yes 
13 Feb | Yes | Yes | Yes 
  1. 我想創建一個考勤表的每一天,顯示(的所有天數的總和如2個PPL在2月11日, 2月12日2人)。我知道如何獲取數據,但我怎樣才能在Google Chart腳本中完成總和?
  2. 我想在一段時間內(例如二月/三月)爲每個人創建一個考勤表。另外我想創建一個日期過濾器。我再次無法總結每個人的'是'。

在此先感謝

回答

0

要創建每天出勤的圖表,你需要使用一個DataView與計算列的總和「是」 S的每一天:

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); 
+0

謝謝。順便說一下Google Chart有任何「調試器」嗎? – Winston

+0

沒有專門用於Visualization API的調試器,但是您可以使用嵌入到Chrome或Firefox中的調試器(或者甚至是更新版本的IE,如果需要的話)。 – asgallant