Class DataSourceTable

DataSourceTable

Acceder a la tabla de la fuente de datos existente y modificarla Para crear una tabla de fuente de datos nueva en una hoja nueva, usa Spreadsheet.insertSheetWithDataSourceTable(spec).

Solo usa esta clase con fuentes de datos de BigQuery.

En este ejemplo, se muestra cómo crear una tabla de fuente de datos nueva.

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();
// Starts data execution asynchronously.
const dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec);
const dataSourceTable = dataSheet.getDataSourceTables()[0];
// waitForCompletion() blocks script execution until data execution completes.
dataSourceTable.waitForCompletion(60);
// Check status after execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);

En este ejemplo, se muestra cómo editar una fuente de datos.

SpreadsheetApp.enableBigQueryExecution();
const dataSheet = SpreadsheetApp.getActive().getSheetByName('Data Sheet 1');
const dataSourceTable = dataSheet.getDataSourceTables()[0];
const dataSource = dataSourceTable.getDataSource();
const newSpec = dataSource.getSpec()
                    .copy()
                    .asBigQuery()
                    .setRawQuery('select name from table limit 2')
                    .removeAllParameters()
                    .build();
// Updates data source specification and starts data execution asynchronously.
dataSource.updateSpec(newSpec);
// Check status during execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);
// waitForCompletion() blocks script execution until data execution completes.
dataSourceTable.waitForCompletion(60);
// Check status after execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);

Métodos

MétodoTipo de datos que se muestraDescripción breve
addColumns(columnNames)DataSourceTableAgrega columnas a la tabla de la fuente de datos.
addFilter(columnName, filterCriteria)DataSourceTableAgrega un filtro aplicado a la tabla de la fuente de datos.
addSortSpec(columnName, ascending)DataSourceTableAgrega una especificación de ordenamiento en una columna de la tabla de la fuente de datos.
addSortSpec(columnName, sortOrder)DataSourceTableAgrega una especificación de ordenamiento en una columna de la tabla de la fuente de datos.
cancelDataRefresh()DataSourceTableCancela la actualización de datos asociada a este objeto si se está ejecutando.
forceRefreshData()DataSourceTableActualiza los datos de este objeto, independientemente del estado actual.
getColumns()DataSourceTableColumn[]Obtiene todas las columnas de la fuente de datos agregadas a la tabla de la fuente de datos.
getDataSource()DataSourceObtiene la fuente de datos a la que está vinculado el objeto.
getFilters()DataSourceTableFilter[]Devuelve todos los filtros aplicados a la tabla de la fuente de datos.
getRange()RangeObtiene el Range que abarca esta tabla de la fuente de datos.
getRowLimit()Integer|nullDevuelve el límite de filas para la tabla de la fuente de datos.
getSortSpecs()SortSpec[]Obtiene todas las especificaciones de ordenamiento en la tabla de la fuente de datos.
getStatus()DataExecutionStatusObtiene el estado de ejecución de datos del objeto.
isSyncingAllColumns()BooleanDevuelve un valor que indica si la tabla de la fuente de datos está sincronizando todas las columnas de la fuente de datos asociada.
refreshData()DataSourceTableActualiza los datos del objeto.
removeAllColumns()DataSourceTableQuita todas las columnas de la tabla de la fuente de datos.
removeAllSortSpecs()DataSourceTableQuita todas las especificaciones de ordenamiento de la tabla de la fuente de datos.
setRowLimit(rowLimit)DataSourceTableActualiza el límite de filas para la tabla de la fuente de datos.
syncAllColumns()DataSourceTableSincroniza todas las columnas actuales y futuras de la fuente de datos asociada con la tabla de la fuente de datos.
waitForCompletion(timeoutInSeconds)DataExecutionStatusEspera hasta que se complete la ejecución actual y se agota el tiempo de espera después de la cantidad de segundos proporcionada.

Documentación detallada

addColumns(columnNames)

Agrega columnas a la tabla de la fuente de datos.

Parámetros

NombreTipoDescripción
columnNamesString[]Es la lista de los nombres de las columnas que se agregarán.

Volver

DataSourceTable: Es la tabla de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addFilter(columnName, filterCriteria)

Agrega un filtro aplicado a la tabla de la fuente de datos.

Parámetros

NombreTipoDescripción
columnNameStringEs el nombre de la columna a la que se aplicará este filtro.
filterCriteriaFilterCriteriaSon los criterios de filtro que se aplicarán.

Volver

DataSourceTable: Es la tabla de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, ascending)

Agrega una especificación de ordenamiento en una columna de la tabla de la fuente de datos.

Parámetros

NombreTipoDescripción
columnNameStringNombre de la columna por la que se ordenará.
ascendingBooleanSi es true, ordena la columna de forma ascendente; si es false, ordena la columna de forma descendente.

Volver

DataSourceTable: Es la hoja de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, sortOrder)

Agrega una especificación de ordenamiento en una columna de la tabla de la fuente de datos.

Parámetros

NombreTipoDescripción
columnNameStringNombre de la columna por la que se ordenará.
sortOrderSortOrderEs el orden de clasificación.

Volver

DataSourceTable: Es la hoja de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

cancelDataRefresh()

Cancela la actualización de datos asociada a este objeto si se está ejecutando.

En este ejemplo, se muestra cómo cancelar una actualización de fórmula.

const spreadsheet = SpreadsheetApp.getActive();
const formula = spreadsheet.getDataSourceFormulas()[0];
// Cancel the ongoing refresh on the formula.
formula.cancelDataRefresh();

Se arroja una excepción si el tipo de fuente de datos no está habilitado. Usa los métodos SpreadsheetApp#enable...Execution() para habilitar la ejecución de datos para un tipo de fuente de datos específico.

Volver

DataSourceTable: Es el objeto de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forceRefreshData()

Actualiza los datos de este objeto, independientemente del estado actual. Consulta refreshData() para obtener más detalles. Si quieres cancelar una actualización en ejecución de este objeto, consulta cancelDataRefresh().

Se arroja una excepción si el tipo de fuente de datos no está habilitado. Usa los métodos SpreadsheetApp#enable...Execution() para habilitar la ejecución de datos para un tipo de fuente de datos específico.

Volver

DataSourceTable: Es el objeto de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumns()

Obtiene todas las columnas de la fuente de datos agregadas a la tabla de la fuente de datos.

Volver

DataSourceTableColumn[]: Es una lista de las columnas de la tabla de la fuente de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSource()

Obtiene la fuente de datos a la que está vinculado el objeto.

Volver

DataSource: Es la fuente de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilters()

Devuelve todos los filtros aplicados a la tabla de la fuente de datos.

Volver

DataSourceTableFilter[]: Es un array de todos los filtros aplicados a la tabla de la fuente de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Obtiene el Range que abarca esta tabla de la fuente de datos.

Volver

Range: Es el rango.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRowLimit()

Devuelve el límite de filas para la tabla de la fuente de datos.

Volver

Integer|null: Es el límite de filas para la tabla de la fuente de datos o null si no se establece ningún límite y la tabla usa el límite máximo predeterminado, como en la IU de Hojas de cálculo de Google.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getSortSpecs()

Obtiene todas las especificaciones de ordenamiento en la tabla de la fuente de datos.

Volver

SortSpec[]: Es una lista de especificaciones de orden.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getStatus()

Obtiene el estado de ejecución de datos del objeto.

Volver

DataExecutionStatus: Es el estado de ejecución de los datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isSyncingAllColumns()

Devuelve un valor que indica si la tabla de la fuente de datos está sincronizando todas las columnas de la fuente de datos asociada.

Volver

Boolean: True si la tabla de la fuente de datos sincroniza todas las columnas de la fuente de datos asociada o false en cualquier otro caso.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

refreshData()

Actualiza los datos del objeto.

Arroja una excepción si actualmente se encuentra en el estado error. Usa DataSource#updateSpec() para actualizar la especificación. Se prefiere este método en lugar de forceRefreshData() para evitar ediciones inesperadas en la fuente de datos.

Se arroja una excepción si el tipo de fuente de datos no está habilitado. Usa los métodos SpreadsheetApp#enable...Execution() para habilitar la ejecución de datos para un tipo de fuente de datos específico.

Volver

DataSourceTable: Es el objeto de datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllColumns()

Quita todas las columnas de la tabla de la fuente de datos.

Volver

DataSourceTable: Es la tabla de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllSortSpecs()

Quita todas las especificaciones de ordenamiento de la tabla de la fuente de datos.

Volver

DataSourceTable: Es la hoja de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRowLimit(rowLimit)

Actualiza el límite de filas para la tabla de la fuente de datos. Si el límite de filas proporcionado es null, se actualiza la tabla de la fuente de datos para usar el límite máximo predeterminado de filas, como en la IU de Hojas de cálculo de Google.

Parámetros

NombreTipoDescripción
rowLimitIntegerEs el nuevo límite de filas para la tabla de datos. Si es null, actualiza la tabla para que use el límite de filas predeterminado.

Volver

DataSourceTable: Es la tabla de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

syncAllColumns()

Sincroniza todas las columnas actuales y futuras de la fuente de datos asociada con la tabla de la fuente de datos.

Volver

DataSourceTable: Es la tabla de la fuente de datos, para encadenar.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

waitForCompletion(timeoutInSeconds)

Espera hasta que se complete la ejecución actual y se agota el tiempo de espera después de la cantidad de segundos proporcionada. Arroja una excepción si la ejecución no se completa cuando se agota el tiempo de espera, pero no cancela la ejecución de datos.

Parámetros

NombreTipoDescripción
timeoutInSecondsIntegerTiempo de espera para la ejecución de datos, en segundos. El máximo es de 300 segundos.

Volver

DataExecutionStatus: Es el estado de ejecución de los datos.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets