我正在尝试使用 Google Data Studio 的高级服务创建一个社区连接器来连接到我的 BigQuery 数据表。连接器已全部设置完毕,我的 getData 函数返回一个查询,如下所示:
var sqlString = "SELECT * FROM `PROJECT.DATASET.TABLE` WHERE " +
"DATE(timestamp) >= @startDate AND DATE(timestamp) <= @endDate;"
Run Code Online (Sandbox Code Playgroud)
其中 PROJECT、DATASET 和 TABLE 填写各自的 ID。“时间戳”字段是我的 TIMESTAMP 类型数据表中的 BigQuery 字段。
在我的 getConfig 函数中,我设置配置以将日期范围对象添加到传递到 getData 的请求中:
function getConfig() {
...
config.setDateRangeRequired(true);
...
}
Run Code Online (Sandbox Code Playgroud)
然后,我在 getData 函数中返回社区连接器对象(在下面的代码中定义为“cc”变量),设置 sql 字符串、startDate 和 endDate 的查询参数以及其他一些必要的信息:
function getData(request) {
...
return cc
.newBigQueryConfig()
.setAccessToken(accessToken) // defined earlier
.setBillingProjectId(billingProjectId) // defined earlier
.setUseStandardSql(true)
.setQuery(sqlString)
.addQueryParameter('startDate', bqTypes.STRING,
request.dateRange.startDate)
.addQueryParameter('endDate', bqTypes.STRING,
request.dateRange.endDate)
} …Run Code Online (Sandbox Code Playgroud)