Class DataSourceTable

DataSourceTable

Acesse e modifique a tabela da fonte de dados. Para criar uma tabela de fonte de dados em uma nova planilha, use Spreadsheet.insertSheetWithDataSourceTable(spec).

Use essa classe apenas com fontes de dados do BigQuery.

Este exemplo mostra 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 da fonte de dados.
addSortSpec(columnName, ascending)DataSourceTableAdiciona uma especificação de classificação a uma coluna na tabela de origem de dados.
addSortSpec(columnName, sortOrder)DataSourceTableAdiciona uma especificação de classificação a uma coluna na tabela da fonte de dados.
cancelDataRefresh()DataSourceTableCancela a atualização de dados associada ao objeto se ele estiver em execução no momento.
forceRefreshData()DataSourceTableAtualiza os dados deste objeto, independentemente do estado atual.
getColumns()DataSourceTableColumn[]Recebe 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 da fonte de dados.
getRange()RangeRecebe o Range que essa 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 da fonte de dados.
getStatus()DataExecutionStatusRecebe o status de execução de dados do objeto.
isSyncingAllColumns()BooleanInforma se a tabela da fonte de dados está sincronizando todas as colunas na fonte de dados associada.
refreshData()DataSourceTableAtualiza os dados do objeto.
removeAllColumns()DataSourceTableRemove todas as colunas na tabela da fonte de dados.
removeAllSortSpecs()DataSourceTableRemove todas as especificações de classificação da tabela da fonte de dados.
setRowLimit(rowLimit)DataSourceTableAtualiza o limite de linhas da tabela da fonte de dados.
syncAllColumns()DataSourceTableSincronizar todas as colunas atuais e futuras na fonte de dados associada com a tabela da 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.

Retornar

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método precisam de 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 da fonte de dados.

Parâmetros

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

Retornar

DataSourceTable: a tabela 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, ascending)

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

Parâmetros

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

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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 da fonte de dados.

Parâmetros

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

Retornar

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

Autorização

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

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

cancelDataRefresh()

Cancela a atualização de dados associada ao objeto se ele estiver em execução no momento.

Este exemplo mostra como cancelar uma atualização de fórmula.

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

Lança uma exceção se o tipo de fonte de dados não estiver ativado. Usar métodos SpreadsheetApp#enable...Execution() para ativar a execução de dados em uma fonte de dados específica não é válido.

Retornar

DataSourceTable: o objeto de dados.

Autorização

Os scripts que usam esse método precisam de 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 deste objeto, independentemente do estado atual. Consulte refreshData() para mais detalhes. Se você quiser cancelar uma atualização desse objeto em execução no momento, consulte cancelDataRefresh().

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

Retornar

DataSourceTable: o objeto de dados.

Autorização

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

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

getColumns()

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

Retornar

DataSourceTableColumn[]: uma lista de colunas da 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

getDataSource()

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

Retornar

DataSource: a fonte de dados.

Autorização

Os scripts que usam esse método precisam de 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 da fonte de dados.

Retornar

DataSourceTableFilter[]: uma matriz de todos os filtros aplicados à 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

getRange()

Recebe o Range que a tabela da fonte de dados abrange.

Retornar

Range: o intervalo.

Autorização

Os scripts que usam esse método precisam de 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.

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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 da fonte de dados.

Retornar

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.

Retornar

DataExecutionStatus: o status de execução dos dados.

Autorização

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

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

isSyncingAllColumns()

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

Retornar

Boolean: True se a tabela de fonte de dados estiver sincronizando todas as colunas nos dados associados source ou false, caso contrário.

Autorização

Os scripts que usam esse método precisam de 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 atualmente no estado error. Use DataSource#updateSpec() para atualizar a especificação. O método é preferível a forceRefreshData() para evitar edições inesperadas na fonte de dados.

Gera uma exceção se o tipo de fonte de dados não estiver ativado. Usar métodos SpreadsheetApp#enable...Execution() para ativar a execução de dados em uma fonte de dados específica não é válido.

Retornar

DataSourceTable: o objeto de dados.

Autorização

Os scripts que usam esse método precisam de 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 na tabela da fonte de dados.

Retornar

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método precisam de 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 da tabela da fonte de dados.

Retornar

DataSourceTable: a planilha da origem de dados para encadeamento.

Autorização

Os scripts que usam esse método precisam de 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 da fonte de dados. Se o limite de linhas fornecido for null, atualiza a tabela de fonte de dados para usar o limite máximo padrão de linhas, como na interface das Planilhas Google.

Parâmetros

NomeTipoDescrição
rowLimitIntegerO novo limite de linhas para a tabela de dados. Se null, atualiza a tabela para usar o limite de linhas padrão.

Retornar

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

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

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

syncAllColumns()

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

Retornar

DataSourceTable: a tabela de fonte de dados para encadeamento.

Autorização

Os scripts que usam esse método precisam de 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 se a execução não é concluída ao atingir o tempo limite, mas não cancela a a execução de dados.

Parâmetros

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

Retornar

DataExecutionStatus: o status de execução dos dados.

Autorização

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

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