Class DataSourceSpecBuilder  |  Apps Script  |  Google for Developers (original) (raw)

Class DataSourceSpecBuilder

Stay organized with collections Save and categorize content based on your preferences.

DataSourceSpecBuilder

The builder for [DataSourceSpec](/apps-script/reference/spreadsheet/data-source-spec). To create a specification for certain type, use as...() method. To create a new builder, use [SpreadsheetApp.newDataSourceSpec()](/apps-script/reference/spreadsheet/spreadsheet-app#newDataSourceSpec%28%29). To use the specification, see [DataSourceTable](/apps-script/reference/spreadsheet/data-source-table).

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](/apps-script/reference/spreadsheet/looker-data-source-spec) object after using build().

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

Detailed documentation

asBigQuery()


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](/apps-script/reference/spreadsheet/looker-data-source-spec-builder) — 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](/apps-script/reference/spreadsheet/data-source-spec) — 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[]](/apps-script/reference/spreadsheet/data-source-parameter) — 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](/apps-script/reference/spreadsheet/data-source-type) — 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

Name Type Description
parameterName String The 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](/apps-script/reference/spreadsheet/data-source-type#BIGQUERY).

This method is only available for BigQuery data sources.

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

Parameters

Name Type Description
parameterName String The parameter name.
sourceCell String The source cell, as specified in A1 notation.

Return

[DataSourceSpecBuilder](#) — The builder, for chaining.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-12-03 UTC.