Class DataSourceTable

DataSourceTable

Mengakses dan mengubah tabel sumber data yang ada. Untuk membuat tabel sumber data baru di sheet baru, gunakan Spreadsheet.insertSheetWithDataSourceTable(spec).

Hanya gunakan class ini dengan data yang terhubung ke database.

Contoh ini menunjukkan cara membuat tabel sumber data baru.

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

Contoh ini menunjukkan cara mengedit sumber data.

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

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
addColumns(columnNames)DataSourceTableMenambahkan kolom ke tabel sumber data.
addFilter(columnName, filterCriteria)DataSourceTableMenambahkan filter yang diterapkan ke tabel sumber data.
addSortSpec(columnName, ascending)DataSourceTableMenambahkan spesifikasi pengurutan pada kolom dalam tabel sumber data.
addSortSpec(columnName, sortOrder)DataSourceTableMenambahkan spesifikasi pengurutan pada kolom dalam tabel sumber data.
forceRefreshData()DataSourceTableMemuat ulang data objek ini, terlepas dari status saat ini.
getColumns()DataSourceTableColumn[]Mendapatkan semua kolom sumber data yang ditambahkan ke tabel sumber data.
getDataSource()DataSourceMendapatkan sumber data yang ditautkan ke objek.
getFilters()DataSourceTableFilter[]Menampilkan semua filter yang diterapkan ke tabel sumber data.
getRange()RangeMendapatkan Range yang dicakup oleh tabel sumber data ini.
getRowLimit()IntegerMenampilkan batas baris untuk tabel sumber data.
getSortSpecs()SortSpec[]Mendapatkan semua spesifikasi pengurutan di tabel sumber data.
getStatus()DataExecutionStatusMendapatkan status eksekusi data objek.
isSyncingAllColumns()BooleanMenampilkan apakah tabel sumber data menyinkronkan semua kolom di sumber data terkait.
refreshData()DataSourceTableMemuat ulang data objek.
removeAllColumns()DataSourceTableMenghapus semua kolom di tabel sumber data.
removeAllSortSpecs()DataSourceTableMenghapus semua spesifikasi pengurutan dalam tabel sumber data.
setRowLimit(rowLimit)DataSourceTableMemperbarui batas baris untuk tabel sumber data.
syncAllColumns()DataSourceTableSinkronkan semua kolom yang ada dan kolom mendatang di sumber data terkait ke tabel sumber data.
waitForCompletion(timeoutInSeconds)DataExecutionStatusMenunggu hingga eksekusi saat ini selesai, waktu akan habis setelah jumlah detik yang diberikan.

Dokumentasi mendetail

addColumns(columnNames)

Menambahkan kolom ke tabel sumber data.

Parameter

NamaJenisDeskripsi
columnNamesString[]Daftar nama kolom yang akan ditambahkan.

Return

DataSourceTable — Tabel sumber data, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

addFilter(columnName, filterCriteria)

Menambahkan filter yang diterapkan ke tabel sumber data.

Parameter

NamaJenisDeskripsi
columnNameStringNama kolom tempat filter ini diterapkan.
filterCriteriaFilterCriteriaKriteria filter yang akan diterapkan.

Return

DataSourceTable — Tabel sumber data, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

addSortSpec(columnName, ascending)

Menambahkan spesifikasi pengurutan pada kolom dalam tabel sumber data.

Parameter

NamaJenisDeskripsi
columnNameStringNama kolom yang akan diurutkan.
ascendingBooleanJika true, urutkan kolom dalam urutan menaik; jika false, urutkan kolom dalam urutan menurun.

Return

DataSourceTable — Sheet sumber data, untuk membuat rantai.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

addSortSpec(columnName, sortOrder)

Menambahkan spesifikasi pengurutan pada kolom dalam tabel sumber data.

Parameter

NamaJenisDeskripsi
columnNameStringNama kolom yang akan diurutkan.
sortOrderSortOrderUrutan sortir.

Return

DataSourceTable — Sheet sumber data, untuk membuat rantai.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

forceRefreshData()

Memuat ulang data objek ini, terlepas dari status saat ini. Lihat refreshData() untuk detail selengkapnya.

Menampilkan pengecualian jika jenis sumber data tidak diaktifkan. Gunakan metode SpreadsheetApp#enable...Execution() untuk mengaktifkan eksekusi data untuk jenis sumber data tertentu.

Return

DataSourceTable — Objek data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getColumns()

Mendapatkan semua kolom sumber data yang ditambahkan ke tabel sumber data.

Return

DataSourceTableColumn[] — Daftar kolom tabel sumber data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getDataSource()

Mendapatkan sumber data yang ditautkan ke objek.

Return

DataSource — Sumber data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getFilters()

Menampilkan semua filter yang diterapkan ke tabel sumber data.

Return

DataSourceTableFilter[] — Array dari semua filter yang diterapkan ke tabel sumber data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getRange()

Mendapatkan Range yang dicakup oleh tabel sumber data ini.

Return

Range — Rentang.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getRowLimit()

Menampilkan batas baris untuk tabel sumber data.

Return

Integer — Batas baris untuk tabel sumber data, atau null jika tidak ada batas yang ditetapkan dan tabel tersebut menggunakan batas maksimum default seperti di UI Google Spreadsheet.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getSortSpecs()

Mendapatkan semua spesifikasi pengurutan di tabel sumber data.

Return

SortSpec[] — Daftar spesifikasi pengurutan.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

getStatus()

Mendapatkan status eksekusi data objek.

Return

DataExecutionStatus — Status eksekusi data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

isSyncingAllColumns()

Menampilkan apakah tabel sumber data menyinkronkan semua kolom di sumber data terkait.

Return

BooleanTrue jika tabel sumber data menyinkronkan semua kolom di sumber data yang terkait, atau false jika tidak.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

refreshData()

Memuat ulang data objek.

Menampilkan pengecualian jika saat ini dalam status error. Gunakan DataSource#updateSpec() untuk mengupdate spesifikasi. Metode ini lebih disarankan daripada forceRefreshData() untuk mencegah pengeditan yang tidak terduga pada sumber data.

Menampilkan pengecualian jika jenis sumber data tidak diaktifkan. Gunakan metode SpreadsheetApp#enable...Execution() untuk mengaktifkan eksekusi data untuk jenis sumber data tertentu.

Return

DataSourceTable — Objek data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

removeAllColumns()

Menghapus semua kolom di tabel sumber data.

Return

DataSourceTable — Tabel sumber data, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

removeAllSortSpecs()

Menghapus semua spesifikasi pengurutan dalam tabel sumber data.

Return

DataSourceTable — Sheet sumber data, untuk membuat rantai.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

setRowLimit(rowLimit)

Memperbarui batas baris untuk tabel sumber data. Jika batas baris yang diberikan adalah null, perbarui tabel sumber data untuk menggunakan batas baris maksimum default seperti di UI Google Spreadsheet.

Parameter

NamaJenisDeskripsi
rowLimitIntegerBatas baris baru untuk tabel data. Jika null, memperbarui tabel untuk menggunakan batas baris default.

Return

DataSourceTable — Tabel sumber data, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

syncAllColumns()

Sinkronkan semua kolom yang ada dan kolom mendatang di sumber data terkait ke tabel sumber data.

Return

DataSourceTable — Tabel sumber data, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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

waitForCompletion(timeoutInSeconds)

Menunggu hingga eksekusi saat ini selesai, waktu akan habis setelah jumlah detik yang diberikan. Menampilkan pengecualian jika eksekusi tidak selesai saat waktu habis, tetapi tidak membatalkan eksekusi data.

Parameter

NamaJenisDeskripsi
timeoutInSecondsIntegerWaktu untuk menunggu eksekusi data, dalam detik. Durasi maksimumnya adalah 300 detik.

Return

DataExecutionStatus — Status eksekusi data.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

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