查询多个Google电子表格标签

时间:2014-07-19 23:25:23

标签: javascript google-apps-script google-visualization google-sheets

编辑:我在这方面取得了很大的进步,但仍然遇到了麻烦。在下面的代码中,我尝试查询两个工作表并将数据表连接到一个数据表,然后将该数据表转换为谷歌时间轴可视化。但是,我无法成功连接这两个表。我的代码如下(我知道这些函数很奇怪,并且现在有一些不必要的代码;只是尝试让它先工作并且一直在修改单个查询案例中的代码。)

感谢您的帮助!

<div id="Timeline"></div>

function drawChart() {
  var query = new google.visualization.Query(  'https://docs.google.com/spreadsheets/d/1Q2RkFboIhodAf86xz96UJ5DJEnxJeNYcY9wDbN2INxY/gviz/tq?gid=0&');

  var query2 = new google.visualization.Query(   'https://docs.google.com/spreadsheets/d/1Q2RkFboIhodAf86xz96UJ5DJEnxJeNYcY9wDbN2INxY/gviz/tq?gid=1309804722&');

  var data1 = query.getDataTable();
  var data2 = query2.getDataTable();

  var all = google.visualization.data.join(data1,data2,'full',[[0,0]],[1,2,3],[1,2,3,]);  

  all.send(handleQueryResponse);
}

function handleQueryResponse(response) {
  if (response.isError()) {
    alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
    return;
  }
  var container = document.getElementById('Timeline')
  var chart = new google.visualization.Timeline(container);

  chart.draw(response, { legend: { position: 'none' } , });
}

google.load('visualization', '1', {packages:['timeline'], callback: drawChart});

1 个答案:

答案 0 :(得分:0)

  1. 您需要将查询网址的'gid ='参数设置为指向相关工作表,您可以在查看相关工作表时查看浏览器中的网址来获取此信息 - 请参阅我的回答这里: How to Perform a Lookup/Filter Across Google Spreadsheets Using Google Apps Script

  2. 一旦你有数组的结果集,你可以使用Javascript'concat'方法将它们合并为一个