この質問に答えるフィドルの例に基づいて、 Google ビジュアライゼーション ダッシュボードを作成しました。
function drawTable(response) {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Sl. No.');
data.addColumn('string', 'Name');
data.addColumn('string', 'Date');
var rows = [];
for (var i = 0; i < response.rows.length; i++) {
rows.push([parseInt(response.rows[i][0]), response.rows[i][3], response.rows[i][4]]);
}
data.addRows(rows);
var table = new google.visualization.ChartWrapper({
containerId: 'table_div',
chartType: 'Table',
options: {
}
});
var control = new google.visualization.ControlWrapper({
containerId: 'control_div',
controlType: 'CategoryFilter',
options: {
filterColumnIndex: 2,
'ui': {
'labelStacking': 'vertical',
'allowTyping': false,
'allowMultiple': false
}
}
});
var dashboard = new google.visualization.Dashboard(document.querySelector('#dashboard'));
dashboard.bind([control], [table]);
dashboard.draw(data);
}
function getData() {
// Builds a Fusion Tables SQL query and hands the result to dataHandler
var queryUrlHead = 'https://www.googleapis.com/fusiontables/v1/query?sql=';
var queryUrlTail = '&key=AIzaSyCAI2GoGWfLBvgygLKQp5suUk3RCG7r_ME';
var tableId = '1U-snFJDhdO7jhDjKGfNUZG_P4n4UXvKFjU8F_hM';
// write your SQL as normal, then encode it
var query = "SELECT * FROM " + tableId;
var queryurl = encodeURI(queryUrlHead + query + queryUrlTail);
var jqxhr = $.get(queryurl, drawTable, "jsonp");
}
google.load('visualization', '1', {packages:['controls'], callback: getData});
およびそのデータは、このフュージョン テーブルから取得されます。例のように、日付列の選択をいじるカテゴリ フィルター コントロールが必要です。そして条件は、 MMMM形式でフォーマットされたデータを選択したいということです。すなわち、図に示すように。下。
どうすればこれを達成できますか???
編集:次のフォーマッタコードを試しました
var monthformatter = new google.visualization.DateFormat({pattern: "MMMM"});
monthformatter.format(data, 2);
日付形式を月に変換します。しかし、役に立たない。
とにかく、 このフィドル (例 2)に示すように、Google 視覚化クエリ応答を使用して、スプレッドシート データから同じことを実現できます。しかし、スプレッドシートは大量のデータ セットに対してハングアップし、Google フュージョン テーブル gviz クエリ (つまり、) は最初の 500 行のデータしか提供しません (以下の例 3 を参照)。そのため、例 1 を実行する必要がありました。var query = new google.visualization.Query("https://www.google.com/fusiontables/gvizdata?tq=select * from fusiontableid");