Class DataSourceTable

DataSourceTable

Acessar e modificar a tabela de fonte de dados atual. Para criar uma tabela de fonte de dados em uma nova página, use Spreadsheet.insertSheetWithDataSourceTable(spec).

Use essa classe apenas com dados conectados a um banco de dados.

Neste exemplo, mostramos como criar uma nova tabela de fonte de dados.

SpreadsheetApp.enableBigQueryExecution();
var spreadsheet = SpreadsheetApp.getActive();
var 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.
var dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec);
var 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());

Neste exemplo, mostramos como editar uma fonte de dados.

SpreadsheetApp.enableBigQueryExecution();
var dataSheet = SpreadsheetApp.getActive().getSheetByName("Data Sheet 1");
var dataSourceTable = dataSheet.getDataSourceTables()[0];
var dataSource = dataSourceTable.getDataSource();
var 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 retornoBreve descrição
addColumns(columnNames)DataSourceTableAdiciona colunas à tabela da fonte de dados.
addFilter(columnName, filterCriteria)DataSourceTableAdiciona um filtro aplicado à tabela de fonte de dados.
addSortSpec(columnName, ascending)DataSourceTableAdiciona uma especificação de classificação a uma coluna na tabela de fonte de dados.
addSortSpec(columnName, sortOrder)DataSourceTableAdiciona uma especificação de classificação a uma coluna na tabela de fonte de dados.
forceRefreshData()DataSourceTableAtualiza os dados desse objeto, independentemente do estado atual.
getColumns()DataSourceTableColumn[]Extrai todas as colunas da fonte de dados adicionadas à tabela da fonte de dados.
getDataSource()DataSourceRecebe a fonte de dados à qual o objeto está vinculado.
getFilters()DataSourceTableFilter[]Retorna todos os filtros aplicados à tabela de fonte de dados.
getRange()RangeRecebe o Range que esta tabela de fonte de dados abrange.
getRowLimit()IntegerRetorna o limite de linhas da tabela de fonte de dados.
getSortSpecs()SortSpec[]Recebe todas as especificações de classificação na tabela de fonte de dados.
getStatus()DataExecutionStatusRecebe o status de execução de dados do objeto.
isSyncingAllColumns()BooleanRetorna se a tabela de fonte de dados está sincronizando todas as colunas na fonte de dados associada.
refreshData()DataSourceTableAtualiza os dados do objeto.
removeAllColumns()DataSourceTableRemove todas as colunas da tabela da fonte de dados.
removeAllSortSpecs()DataSourceTableRemove todas as especificações de classificação na tabela de fonte de dados.
setRowLimit(rowLimit)DataSourceTableAtualiza o limite de linhas da tabela de fonte de dados.
syncAllColumns()DataSourceTableSincronize todas as colunas atuais e futuras na fonte de dados associada com a tabela de fonte de dados.
waitForCompletion(timeoutInSeconds)DataExecutionStatusAguarda até que a execução atual seja concluída, expirando após o número de segundos fornecido.

Documentação detalhada

addColumns(columnNames)

Adiciona colunas à tabela da fonte de dados.

Parâmetros

NomeTipoDescrição
columnNamesString[]A lista dos nomes das colunas a serem adicionadas.

Retorno

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

addFilter(columnName, filterCriteria)

Adiciona um filtro aplicado à tabela de fonte de dados.

Parâmetros

NomeTipoDescrição
columnNameStringO nome da coluna à qual esse filtro será aplicado.
filterCriteriaFilterCriteriaOs critérios de filtro a serem aplicados.

Retorno

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

addSortSpec(columnName, ascending)

Adiciona uma especificação de classificação a uma coluna na tabela de fonte de dados.

Parâmetros

NomeTipoDescrição
columnNameStringO nome da coluna a ser classificada.
ascendingBooleanSe for true, ordene a coluna em ordem crescente. Se false, ordene a coluna em ordem decrescente.

Retorno

DataSourceTable: a página da fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

addSortSpec(columnName, sortOrder)

Adiciona uma especificação de classificação a uma coluna na tabela de fonte de dados.

Parâmetros

NomeTipoDescrição
columnNameStringO nome da coluna a ser classificada.
sortOrderSortOrderA ordem de classificação.

Retorno

DataSourceTable: a página da fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

forceRefreshData()

Atualiza os dados desse objeto, independentemente do estado atual. Consulte refreshData() para mais detalhes.

Lança uma exceção se o tipo de fonte de dados não estiver ativado. Use os métodos SpreadsheetApp#enable...Execution() a fim de ativar a execução de dados para um tipo específico de fonte.

Retorno

DataSourceTable: o objeto de dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getColumns()

Extrai todas as colunas da fonte de dados adicionadas à tabela da fonte de dados.

Retorno

DataSourceTableColumn[]: uma lista de colunas da tabela da fonte de dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getDataSource()

Recebe a fonte de dados à qual o objeto está vinculado.

Retorno

DataSource: a fonte de dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFilters()

Retorna todos os filtros aplicados à tabela de fonte de dados.

Retorno

DataSourceTableFilter[]: uma matriz de todos os filtros aplicados à tabela de fonte de dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRange()

Recebe o Range que esta tabela de fonte de dados abrange.

Retorno

Range: o intervalo.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRowLimit()

Retorna o limite de linhas da tabela de fonte de dados.

Retorno

Integer: o limite de linhas da tabela de fonte de dados ou null se nenhum limite for definido e a tabela usar o limite máximo padrão, como na IU do Planilhas Google.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getSortSpecs()

Recebe todas as especificações de classificação na tabela de fonte de dados.

Retorno

SortSpec[]: uma lista de especificações de classificação.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getStatus()

Recebe o status de execução de dados do objeto.

Retorno

DataExecutionStatus — status de execução dos dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

isSyncingAllColumns()

Retorna se a tabela de fonte de dados está sincronizando todas as colunas na fonte de dados associada.

Retorno

Boolean: True se a tabela da fonte de dados estiver sincronizando todas as colunas na fonte de dados associada. Caso contrário, retorna false.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

refreshData()

Atualiza os dados do objeto.

Gera uma exceção se estiver no estado error. Use DataSource#updateSpec() para atualizar a especificação. O método tem preferência em relação a forceRefreshData() para evitar edições inesperadas na fonte de dados.

Lança uma exceção se o tipo de fonte de dados não estiver ativado. Use os métodos SpreadsheetApp#enable...Execution() a fim de ativar a execução de dados para um tipo específico de fonte.

Retorno

DataSourceTable: o objeto de dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

removeAllColumns()

Remove todas as colunas da tabela da fonte de dados.

Retorno

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

removeAllSortSpecs()

Remove todas as especificações de classificação na tabela de fonte de dados.

Retorno

DataSourceTable: a página da fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

setRowLimit(rowLimit)

Atualiza o limite de linhas da tabela de fonte de dados. Se o limite de linhas fornecido for null, a tabela de fonte de dados será atualizada para usar o limite máximo padrão de linhas, como na IU do Planilhas Google.

Parâmetros

NomeTipoDescrição
rowLimitIntegerO novo limite de linhas da tabela de dados. Se null, a tabela será atualizada para usar o limite de linhas padrão.

Retorno

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

syncAllColumns()

Sincronize todas as colunas atuais e futuras na fonte de dados associada com a tabela de fonte de dados.

Retorno

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

waitForCompletion(timeoutInSeconds)

Aguarda até que a execução atual seja concluída, expirando após o número de segundos fornecido. Gera uma exceção quando a execução não é concluída quando o tempo limite é atingido, mas não cancela a execução dos dados.

Parâmetros

NomeTipoDescrição
timeoutInSecondsIntegerO tempo de espera pela execução dos dados, em segundos. O máximo é de 300 segundos.

Retorno

DataExecutionStatus — status de execução dos dados.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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