Class DataSourceSpecBuilder

DataSourceSpecBuilder

The builder for DataSourceSpec. To create a specification for certain type, use as...() method. To create a new builder, use SpreadsheetApp.newDataSourceSpec(). To use the specification, see DataSourceTable.

Only use this class with data that's connected to a database.

This example shows how to build a BigQuery data source specification.

const spec = SpreadsheetApp.newDataSourceSpec()  .asBigQuery()  .setProjectId('big_query_project')  .setRawQuery('select @FIELD from table limit @LIMIT')  .setParameterFromCell('FIELD', 'Sheet1!A1')  .setParameterFromCell('LIMIT', 'namedRangeCell')  .build();

This example shows how to build a Looker data source specification. It returns a LookerDataSourceSpec object after using build().

const spec = SpreadsheetApp.newDataSourceSpec()  .asLooker()  .setInstanceUrl('https://looker_instance_url.com')  .setModelName('model_name')  .setExploreName('explore_name')  .build();

Methods

MethodReturn typeBrief description
asBigQuery()BigQueryDataSourceSpecBuilderGets the builder for BigQuery data source.
asLooker()LookerDataSourceSpecBuilderGets the builder for Looker data source.
build()DataSourceSpecBuilds a data source specification from the settings in this builder.
copy()DataSourceSpecBuilderCreates a DataSourceSpecBuilder based on this data source's settings.
getParameters()DataSourceParameter[]Gets the parameters of the data source.
getType()DataSourceTypeGets the type of the data source.
removeAllParameters()DataSourceSpecBuilderRemoves all the parameters.
removeParameter(parameterName)DataSourceSpecBuilderRemoves the specified parameter.
setParameterFromCell(parameterName, sourceCell)DataSourceSpecBuilderAdds a parameter, or if the parameter with the name exists, updates its source cell for data source spec builders of type DataSourceType.BIGQUERY.

Detailed documentation

asBigQuery()

Gets the builder for BigQuery data source.

Return

BigQueryDataSourceSpecBuilder — The BigQuery data source specification builder.


asLooker()

Gets the builder for Looker data source.

const spec = SpreadsheetApp.newDataSourceSpec()  .asLooker()  .setInstanceUrl('https://looker_instance_url.com')  .setModelName('model_name')  .setExploreName('explore_name')  .build();

Return

LookerDataSourceSpecBuilder — The Looker data source specification builder.


build()

Builds a data source specification from the settings in this builder. Must use as...() to specify a data source type before building.

The following code sample builds a BigQuery DataSource Spec.

const bigQueryDataSourceSpec = SpreadsheetApp.newDataSourceSpec().asBigQuery(); // TODO(developer): Replace with the required dataset, project and table IDs. bigQueryDataSourceSpec.setDatasetId('my data set id'); bigQueryDataSourceSpec.setProjectId('my project id'); bigQueryDataSourceSpec.setTableId('my table id'); bigQueryDataSourceSpec.build();

The following code sample builds a Looker DataSource Spec.

const lookerDataSourceSpecBuilder =  SpreadsheetApp.newDataSourceSpec().asLooker(); const lookerSpec = lookerDataSourceSpecBuilder.setExploreName('my explore name')  .setInstanceUrl('my instance url')  .setModelName('my model name')  .build();

Return

DataSourceSpec — The data source specification.


copy()

Creates a DataSourceSpecBuilder based on this data source's settings.

// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl(  'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const newSpec = spec.copy();

Return

DataSourceSpecBuilder — The builder.


getParameters()

Gets the parameters of the data source.

// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl(  'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const parameters = spec.getParameters();

This method is only available for BigQuery data sources.

Return

DataSourceParameter[] — The parameter list.


getType()

Gets the type of the data source.

// TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl(  'https://docs.google.com/spreadsheets/d/abc123456/edit', ); const spec = ss.getDataSources()[0].getSpec(); const type = spec.getType();

Return

DataSourceType — The data source type.


removeAllParameters()

Removes all the parameters.

const specBuilder = SpreadsheetApp.newDataSourceSpec(); specBuilder.removeAllParameters();

Return

DataSourceSpecBuilder — The builder, for chaining.


removeParameter(parameterName)

Removes the specified parameter.

const specBuilder = SpreadsheetApp.newDataSourceSpec(); specBuilder.removeParameter('x');

Parameters

NameTypeDescription
parameterNameStringThe name of the parameter to remove.

Return

DataSourceSpecBuilder — The builder, for chaining.


setParameterFromCell(parameterName, sourceCell)

Adds a parameter, or if the parameter with the name exists, updates its source cell for data source spec builders of type DataSourceType.BIGQUERY.

This method is only available for BigQuery data sources.

const specBuilder = SpreadsheetApp.newDataSourceSpec().asBigQuery(); specBuilder.setParameterFromCell('x', 'A1'); const bigQuerySpec = specBuilder.build();

Parameters

NameTypeDescription
parameterNameStringThe parameter name.
sourceCellStringThe source cell, as specified in A1 notation.

Return

DataSourceSpecBuilder — The builder, for chaining.