Class DataSourceTable

DataSourceTable

Для доступа к существующей таблице источника данных и ее изменения. Чтобы создать новую таблицу источника данных на новом листе, используйте Spreadsheet.insertSheetWithDataSourceTable(spec) .

Этот класс следует использовать только с источниками данных BigQuery.

В этом примере показано, как создать новую таблицу-источник данных.

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(),
);

В этом примере показано, как редактировать источник данных.

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(),
);

Методы

Метод Тип возвращаемого значения Краткое описание
add Columns(columnNames) Data Source Table Добавляет столбцы в таблицу источника данных.
add Filter(columnName, filterCriteria) Data Source Table Добавляет фильтр, применяемый к таблице источника данных.
add Sort Spec(columnName, ascending) Data Source Table Добавляет спецификацию сортировки для столбца в таблице источника данных.
add Sort Spec(columnName, sortOrder) Data Source Table Добавляет спецификацию сортировки для столбца в таблице источника данных.
cancel Data Refresh() Data Source Table Отменяет обновление данных, связанное с этим объектом, если оно в данный момент выполняется.
force Refresh Data() Data Source Table Обновляет данные этого объекта независимо от его текущего состояния.
get Columns() Data Source Table Column[] Добавляет все столбцы источника данных в таблицу источника данных.
get Data Source() Data Source Получает источник данных, к которому привязан объект.
get Filters() Data Source Table Filter[] Возвращает все фильтры, примененные к таблице-источнику данных.
get Range() Range Получает Range , охватываемый таблицей источника данных.
get Row Limit() Integer|null Возвращает ограничение на количество строк в таблице источника данных.
get Sort Specs() Sort Spec[] Получает все параметры сортировки из таблицы источника данных.
get Status() Data Execution Status Получает статус выполнения данных объекта.
is Syncing All Columns() Boolean Возвращает значение, указывающее, синхронизирует ли таблица источника данных все столбцы в связанном источнике данных.
refresh Data() Data Source Table Обновляет данные объекта.
remove All Columns() Data Source Table Удаляет все столбцы из таблицы источника данных.
remove All Sort Specs() Data Source Table Удаляет все параметры сортировки из таблицы источника данных.
set Row Limit(rowLimit) Data Source Table Обновляет ограничение на количество строк в таблице-источнике данных.
sync All Columns() Data Source Table Синхронизируйте все текущие и будущие столбцы в связанном источнике данных с таблицей источника данных.
wait For Completion(timeoutInSeconds) Data Execution Status Ожидает завершения текущего выполнения, истекая по истечении заданного количества секунд.

Подробная документация

addColumns(columnNames)

Добавляет столбцы в таблицу источника данных.

Параметры

Имя Тип Описание
column Names String[] Список названий столбцов для добавления.

Возвращаться

DataSourceTable — таблица-источник данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

addFilter(columnName, filterCriteria)

Добавляет фильтр, применяемый к таблице источника данных.

Параметры

Имя Тип Описание
column Name String Название столбца, к которому следует применить этот фильтр.
filter Criteria Filter Criteria Критерии фильтрации, которые необходимо применить.

Возвращаться

DataSourceTable — таблица-источник данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

addSortSpec(columnName, ascending)

Добавляет спецификацию сортировки для столбца в таблице источника данных.

Параметры

Имя Тип Описание
column Name String Название столбца для сортировки.
ascending Boolean Если true , отсортировать столбец в порядке возрастания; если false , отсортировать столбец в порядке убывания.

Возвращаться

DataSourceTable — Таблица источников данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

addSortSpec(columnName, sortOrder)

Добавляет спецификацию сортировки для столбца в таблице источника данных.

Параметры

Имя Тип Описание
column Name String Название столбца для сортировки.
sort Order Sort Order Порядок сортировки.

Возвращаться

DataSourceTable — Таблица источников данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

cancelDataRefresh()

Отменяет обновление данных, связанное с этим объектом, если оно в данный момент выполняется.

В этом примере показано, как отменить обновление формулы.

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

Генерирует исключение, если тип источника данных не включен. Используйте методы SpreadsheetApp#enable...Execution() для включения выполнения данных для определенного типа источника данных.

Возвращаться

DataSourceTable — объект данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

forceRefreshData()

Обновляет данные этого объекта независимо от его текущего состояния. Дополнительные сведения см. в refreshData() . Если вы хотите отменить текущее обновление этого объекта, см. cancelDataRefresh() .

Генерирует исключение, если тип источника данных не включен. Используйте методы SpreadsheetApp#enable...Execution() для включения выполнения данных для определенного типа источника данных.

Возвращаться

DataSourceTable — объект данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getColumns()

Добавляет все столбцы источника данных в таблицу источника данных.

Возвращаться

DataSourceTableColumn[] — Список столбцов таблицы-источника данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getDataSource()

Получает источник данных, к которому привязан объект.

Возвращаться

DataSource — Источник данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getFilters()

Возвращает все фильтры, примененные к таблице-источнику данных.

Возвращаться

DataSourceTableFilter[] — Массив всех фильтров, примененных к таблице-источнику данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getRange()

Получает Range , охватываемый таблицей источника данных.

Возвращаться

Range — Дальность.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getRowLimit()

Возвращает ограничение на количество строк в таблице источника данных.

Возвращаться

Integer|null — Ограничение на количество строк в таблице источника данных или null , если ограничение не установлено и таблица использует максимальное ограничение по умолчанию, как в пользовательском интерфейсе Google Sheets.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getSortSpecs()

Получает все параметры сортировки из таблицы источника данных.

Возвращаться

SortSpec[] — Список спецификаций сортировки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

getStatus()

Получает статус выполнения данных объекта.

Возвращаться

DataExecutionStatus — Статус выполнения данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

isSyncingAllColumns()

Возвращает значение, указывающее, синхронизирует ли таблица источника данных все столбцы в связанном источнике данных.

Возвращаться

BooleanTrue если таблица источника данных синхронизирует все столбцы в связанном источнике данных, или false в противном случае.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

refreshData()

Обновляет данные объекта.

Генерирует исключение, если в данный момент находится в состоянии error . Используйте DataSource#updateSpec() для обновления спецификации. Этот метод предпочтительнее, чем forceRefreshData() чтобы предотвратить неожиданные изменения в источнике данных.

Генерирует исключение, если тип источника данных не включен. Используйте методы SpreadsheetApp#enable...Execution() для включения выполнения данных для определенного типа источника данных.

Возвращаться

DataSourceTable — объект данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

removeAllColumns()

Удаляет все столбцы из таблицы источника данных.

Возвращаться

DataSourceTable — таблица-источник данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

removeAllSortSpecs()

Удаляет все параметры сортировки из таблицы источника данных.

Возвращаться

DataSourceTable — Таблица источников данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

setRowLimit(rowLimit)

Обновляет ограничение на количество строк для таблицы-источника данных. Если указанное ограничение на количество строк равно null , то обновляет таблицу-источник данных, используя максимальное ограничение на количество строк по умолчанию, как в пользовательском интерфейсе Google Sheets.

Параметры

Имя Тип Описание
row Limit Integer Новый лимит строк для таблицы данных. Если null , таблица обновляется с использованием лимита строк по умолчанию.

Возвращаться

DataSourceTable — таблица-источник данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

syncAllColumns()

Синхронизируйте все текущие и будущие столбцы в связанном источнике данных с таблицей источника данных.

Возвращаться

DataSourceTable — таблица-источник данных для построения цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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

waitForCompletion(timeoutInSeconds)

Ожидает завершения текущего выполнения, истекая по истечении заданного количества секунд. Генерирует исключение, если выполнение не завершается по истечении времени ожидания, но не отменяет выполнение данных.

Параметры

Имя Тип Описание
timeout In Seconds Integer Время ожидания обработки данных в секундах. Максимальное значение — 300 секунд.

Возвращаться

DataExecutionStatus — Статус выполнения данных.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

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