くら
GASでスプレッドシートのBigQueryで使うデータを取得する方法を紹介します!
BigQueryで使うデータを取得:getDataSourceTables()
BigQueryで使うデータを取得します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
なし | なし | なし |
戻り値
DataSourceTable[] | データソースのリスト |
説明
function myFunction() {
SpreadsheetApp.enableBigQueryExecution();
const spreadsheet = SpreadsheetApp.getActive();
const spec = SpreadsheetApp.newDataSourceSpec()
.asBigQuery()
.setProjectId('big_query_project')
.setRawQuery('select @FIELD from table limit @LIMIT')
.setParameterFromCell('FIELD', 'Sheet1!A1')
.setParameterFromCell('LIMIT', 'namedRangeCell')
.build();
/* データの取得 */
const dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec);
const dataSourceTable = dataSheet.getDataSourceTables()[0];
/* 60s待機 */
dataSourceTable.waitForCompletion(60);
/* データの実行状態を取得 */
console.log(`Data execution state: ${dataSourceTable.getStatus().getExecutionState()}`);
}
G Suiteの契約が必要そうで、サンプルコードのみ掲載します。(いつか試してみたい)
公式ドキュメント:Range > getDataSourceTables()
まとめ
くら
スプレッドシートのBigQueryで使うデータを取得する方法でした!
コメント