google-apps-script - 使用 Google 电子表格访问 BigQuery

标签 google-apps-script google-bigquery

我在互联网上查找如何在谷歌电子表格中导入bigquery数据。 我找到了这个appscript示例,但它不起作用API不在同一级别,并且我没有找到如何在appscript中使用API​​2或API@beta1进行查询。

function runQuery() {
  var ss = SpreadsheetApp.getActive();
  var range = ss.getRangeByName('query');
  var query = range.getCell(1, 1).getValue();
  //var results = bigquery.query(query);



  var header = ss.getRangeByName('header');
  header.clearContent();
  var output = ss.getRangeByName('output');
  output.clearContent();
  for (var i = 0; i < results.fields.length; i++) {
    var field = results.fields[i];
    header.getCell(1, 1 + i).setValue(field.id);
  }
  for (var i = 0; i < results.rows.length; i++) {
    var row = results.rows[i].f;
    for (var j = 0; j < row.length; ++j) {
      output.getCell(1 + i, 1 + j).setValue(row[j].v);
    }
  }
}

预先感谢您的想法,

GQ

最佳答案

更新:我们刚刚添加了一个新的 BigQuery + Apps 脚本教程,应该可以引导您在此处找到此问题的答案: https://developers.google.com/apps-script/articles/bigquery_tutorial

@GQuery:我们最近更新了 AppsScript,以便可以访问最新的 BigQuery API 版本 (v2)。下面是一个简单的入门示例,将在 AppScript 日志中显示结果。我们正在努力更新 AppScript/BigQuery 文档。

function runQuery() {
  var projectId = 'YOUR PROJECT';
  var sql = 'select word, word_count from publicdata:samples.shakespeare limit 100';
  var queryResults;

  // Run the query
  try {
    queryResults = BigQuery.Jobs.query(projectId, sql);
  }
  catch (err) {
    Logger.log(err);
    return;
  }

  // Loop until successful job completion
  while (queryResults.getJobComplete() == false) {
    try {
      queryResults = BigQuery.Jobs.getQueryResults(projectId, queryResults.getJobReference().getJobId());
    }
    catch (err) {
      Logger.log(err);
      return;
    }
  }

  var tableRows = queryResults.getRows();
  for (var i = 0; i < tableRows.length; i++) {
    var rowString = '';
    var cols = tableRows[i].getF();
    for (var j = 0; j < cols.length; j++) {
      rowString += cols[j].getV() + '\t';
    }
    Logger.log(rowString);

关于google-apps-script - 使用 Google 电子表格访问 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775975/

相关文章:

javascript - 我的 GAS 脚本无法创建没有任何错误的事件

javascript - Google Apps 脚本.递归添加项目?

css - Google 表格应用程序脚本无法处理 CSS 样式

json - 如何在 bigquery 的重复结构中查找最后一项

使用 github_repos 数据集在 GCP BigQuery 上进行 SQL 查询验证失败

google-bigquery - 如何将重复的字段流式传输到 bigquery 中?

json - 使用键名从 JSON 中提取值包括 bigquery 中的#

google-cloud-platform - 导出 BigQuery 日志记录 : which resource types to select (and what is the difference between them? )

google-apps-script - 关闭打开的电子表格

javascript - Google Apps 电子表格脚本随机停止?