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.
cancelDataRefresh()DataSourceTableMembatalkan refresh data yang terkait dengan objek ini jika sedang berjalan.
forceRefreshData()DataSourceTableMemuat ulang data objek ini, terlepas dari statusnya 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 dalam tabel sumber data ini.
getRowLimit()IntegerMenampilkan batas baris untuk tabel sumber data.
getSortSpecs()SortSpec[]Mendapatkan semua spesifikasi pengurutan dalam tabel sumber data.
getStatus()DataExecutionStatusMendapatkan status eksekusi data objek.
isSyncingAllColumns()BooleanMenampilkan apakah tabel sumber data menyinkronkan semua kolom dalam 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()DataSourceTableMenyinkronkan semua kolom saat ini dan di masa mendatang dalam sumber data terkait ke tabel sumber data.
waitForCompletion(timeoutInSeconds)DataExecutionStatusMenunggu hingga eksekusi saat ini selesai, akan kehabisan waktu 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 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, sortOrder)

Menambahkan spesifikasi pengurutan pada kolom dalam tabel sumber data.

Parameter

NamaJenisDeskripsi
columnNameStringNama kolom yang akan diurutkan.
sortOrderSortOrderTata urutan.

Return

DataSourceTable — Sheet 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

cancelDataRefresh()

Membatalkan refresh data yang terkait dengan objek ini jika sedang berjalan.

Contoh ini menunjukkan cara membatalkan pemuatan ulang formula.

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

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

forceRefreshData()

Memuat ulang data objek ini, terlepas dari statusnya saat ini. Lihat refreshData() untuk detail selengkapnya. Jika Anda ingin membatalkan refresh objek yang sedang berjalan ini, lihat cancelDataRefresh().

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 dalam 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 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 dalam 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 dalam sumber data terkait.

Return

BooleanTrue jika tabel sumber data menyinkronkan semua kolom dalam sumber data 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 memperbarui 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 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

setRowLimit(rowLimit)

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

Parameter

NamaJenisDeskripsi
rowLimitIntegerBatas baris baru untuk tabel data. Jika null, akan memperbarui tabel agar 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()

Menyinkronkan semua kolom saat ini dan di masa mendatang dalam 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, akan kehabisan waktu setelah jumlah detik yang diberikan. Menampilkan pengecualian jika eksekusi tidak selesai saat waktu habis, tetapi tidak membatalkan eksekusi data.

Parameter

NamaJenisDeskripsi
timeoutInSecondsIntegerWaktu tunggu 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