如何连接元数据库和谷歌表格?
Posted
技术标签:
【中文标题】如何连接元数据库和谷歌表格?【英文标题】:How to connect Metabase with Google Sheet? 【发布时间】:2019-12-08 18:38:28 【问题描述】:我有我们公司大量使用的元数据库的用户名和密码。每天我必须经常下载 CSV,然后将它们导出到谷歌表格以进行报告或分析。有什么方法可以将 Metabase 连接到 Google 表格,以便表格自动从 Metabase url 中提取 CSV?
【问题讨论】:
使用 API 检索数据怎么样? Ref如果这不是你想要的方向,我很抱歉。 【参考方案1】:您可以尝试使用 Google Apps 脚本编写脚本来解决您的问题。一个想法是使用 UrlFetchApp.fetch() 方法,该方法允许脚本与其他应用程序通信或通过请求获取 URL(在您的情况下为元数据库 URL)来访问 Web 上的其他资源。
以下代码 sn-p 可能会让您大致了解下一步该做什么:
function myFunction()
var sheet = SpreadsheetApp.getActive().getSheets()[0];
var data =
// the data that you will be using
;
var options =
'method': 'post',
'payload': data
;
var response = UrlFetchApp.fetch('https://metabase.example.com/api/card/1/query/json', options);
var responseData = JSON.parse(response.getContentText());
sheet.appendRow(responseData);
它实际上做了什么:它使用 Metabase API 通过使用 POST
请求来获取您想要的数据(使用 POST
请求的原因是因为根据 API Documentation for Metabase v0.32.2 它运行与一张卡片,并将其结果作为指定格式的文件返回)。然后使用.appendRow()
将请求的响应附加到您的工作表中。
此外,您可以在此处阅读有关 UrlFetchApp 和 Apps 脚本的更多信息:
Class UrlFetchApp;
Apps Script;
Spreadsheet App.
【讨论】:
【参考方案2】:我已经实现了Google Sheets add-on as a solution for this and open-sourced it。
我在一家大型组织中将此代码用作 Google 表格插件,到目前为止它运行良好,每周有数百名用户运行数万次查询。
这是实际效果:
如果您不想麻烦地将其设置为 Google 表格插件,您可以使用该脚本并将其改编为简单的 Apps 脚本。
【讨论】:
【参考方案3】:你可以add a Google Sheet as an external table in Google Big Query,然后connect Metabase to Google BigQuery。
【讨论】:
以上是关于如何连接元数据库和谷歌表格?的主要内容,如果未能解决你的问题,请参考以下文章