Class DataSourceTable

DataSourceTable

เข้าถึงและแก้ไขตารางแหล่งข้อมูลที่มีอยู่ หากต้องการสร้างตารางแหล่งข้อมูลใหม่ในชีตใหม่ ให้ใช้ Spreadsheet.insertSheetWithDataSourceTable(spec)

ใช้คลาสนี้กับข้อมูลที่เชื่อมต่อกับฐานข้อมูลเท่านั้น

ตัวอย่างนี้แสดงวิธีสร้างตารางแหล่งข้อมูลใหม่

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

ตัวอย่างนี้แสดงวิธีแก้ไขแหล่งข้อมูล

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

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addColumns(columnNames)DataSourceTableเพิ่มคอลัมน์ในตารางแหล่งข้อมูล
addFilter(columnName, filterCriteria)DataSourceTableเพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล
addSortSpec(columnName, ascending)DataSourceTableเพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
addSortSpec(columnName, sortOrder)DataSourceTableเพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
forceRefreshData()DataSourceTableรีเฟรชข้อมูลของออบเจ็กต์นี้โดยไม่คำนึงถึงสถานะปัจจุบัน
getColumns()DataSourceTableColumn[]รับคอลัมน์แหล่งข้อมูลทั้งหมดที่เพิ่มลงในตารางแหล่งข้อมูล
getDataSource()DataSourceรับแหล่งข้อมูลที่ออบเจ็กต์ลิงก์อยู่
getFilters()DataSourceTableFilter[]แสดงผลตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล
getRange()Rangeรับ Range ที่ตารางแหล่งข้อมูลนี้ครอบคลุม
getRowLimit()Integerแสดงผลขีดจํากัดแถวของตารางแหล่งข้อมูล
getSortSpecs()SortSpec[]รับข้อมูลจำเพาะของการจัดเรียงทั้งหมดในตารางแหล่งข้อมูล
getStatus()DataExecutionStatusรับสถานะการเรียกใช้ข้อมูลของออบเจ็กต์
isSyncingAllColumns()Booleanแสดงผลว่าตารางแหล่งข้อมูลซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เกี่ยวข้องหรือไม่
refreshData()DataSourceTableรีเฟรชข้อมูลของออบเจ็กต์
removeAllColumns()DataSourceTableนำคอลัมน์ทั้งหมดในตารางแหล่งข้อมูลออก
removeAllSortSpecs()DataSourceTableนำข้อกำหนดในการจัดเรียงทั้งหมดออกในตารางแหล่งข้อมูล
setRowLimit(rowLimit)DataSourceTableอัปเดตจำนวนแถวสูงสุดสำหรับตารางแหล่งข้อมูล
syncAllColumns()DataSourceTableซิงค์คอลัมน์ในปัจจุบันและอนาคตทั้งหมดในแหล่งข้อมูลที่เชื่อมโยงกับตารางแหล่งข้อมูล
waitForCompletion(timeoutInSeconds)DataExecutionStatusรอจนกว่าการดำเนินการปัจจุบันจะเสร็จสิ้น และหมดเวลาหลังจากครบจำนวนวินาทีที่ระบุ

เอกสารประกอบโดยละเอียด

addColumns(columnNames)

เพิ่มคอลัมน์ในตารางแหล่งข้อมูล

พารามิเตอร์

ชื่อTypeคำอธิบาย
columnNamesString[]รายการชื่อคอลัมน์ที่จะเพิ่ม

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addFilter(columnName, filterCriteria)

เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล

พารามิเตอร์

ชื่อTypeคำอธิบาย
columnNameStringชื่อของคอลัมน์ที่จะใช้ตัวกรองนี้
filterCriteriaFilterCriteriaเกณฑ์ตัวกรองที่จะใช้

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addSortSpec(columnName, ascending)

เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล

พารามิเตอร์

ชื่อTypeคำอธิบาย
columnNameStringชื่อคอลัมน์ที่จะจัดเรียง
ascendingBooleanหากเป็น true ให้จัดเรียงคอลัมน์ตามลําดับจากน้อยไปมาก หากเป็น false ให้จัดเรียง คอลัมน์ตามลําดับจากมากไปน้อย

รีเทิร์น

DataSourceTable — ชีตแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

addSortSpec(columnName, sortOrder)

เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล

พารามิเตอร์

ชื่อTypeคำอธิบาย
columnNameStringชื่อคอลัมน์ที่จะจัดเรียง
sortOrderSortOrderลำดับการจัดเรียง

รีเทิร์น

DataSourceTable — ชีตแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

forceRefreshData()

รีเฟรชข้อมูลของออบเจ็กต์นี้โดยไม่คำนึงถึงสถานะปัจจุบัน ดูรายละเอียดเพิ่มเติมได้ที่ refreshData()

มีข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้เมธอด SpreadsheetApp#enable...Execution() เพื่อเปิดใช้การดำเนินการกับข้อมูลสำหรับประเภทแหล่งข้อมูลที่เจาะจง

รีเทิร์น

DataSourceTable — ออบเจ็กต์ข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getColumns()

รับคอลัมน์แหล่งข้อมูลทั้งหมดที่เพิ่มลงในตารางแหล่งข้อมูล

รีเทิร์น

DataSourceTableColumn[] — รายการคอลัมน์ในตารางแหล่งข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getDataSource()

รับแหล่งข้อมูลที่ออบเจ็กต์ลิงก์อยู่

รีเทิร์น

DataSource — แหล่งข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getFilters()

แสดงผลตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล

รีเทิร์น

DataSourceTableFilter[] — อาร์เรย์ของตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getRange()

รับ Range ที่ตารางแหล่งข้อมูลนี้ครอบคลุม

รีเทิร์น

Range — ช่วง

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getRowLimit()

แสดงผลขีดจํากัดแถวของตารางแหล่งข้อมูล

รีเทิร์น

Integer — ขีดจำกัดแถวสำหรับตารางแหล่งข้อมูล หรือ null หากไม่ได้กำหนดขีดจำกัดไว้และตารางใช้ขีดจำกัดสูงสุดเริ่มต้นเช่นเดียวกับใน UI ของ Google ชีต

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getSortSpecs()

รับข้อมูลจำเพาะของการจัดเรียงทั้งหมดในตารางแหล่งข้อมูล

รีเทิร์น

SortSpec[] — รายการข้อกำหนดการจัดเรียง

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getStatus()

รับสถานะการเรียกใช้ข้อมูลของออบเจ็กต์

รีเทิร์น

DataExecutionStatus — สถานะการดำเนินการกับข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

isSyncingAllColumns()

แสดงผลว่าตารางแหล่งข้อมูลซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เกี่ยวข้องหรือไม่

รีเทิร์น

BooleanTrue หากตารางแหล่งข้อมูลซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เกี่ยวข้อง หรือ false ในกรณีอื่นๆ

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

refreshData()

รีเฟรชข้อมูลของออบเจ็กต์

มีข้อยกเว้นหากขณะนี้อยู่ในสถานะ error ใช้ DataSource#updateSpec() เพื่ออัปเดตข้อกำหนด แนะนำให้ใช้วิธีนี้เหนือ forceRefreshData() เพื่อป้องกันการแก้ไขที่ไม่คาดคิดในแหล่งข้อมูล

มีข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้เมธอด SpreadsheetApp#enable...Execution() เพื่อเปิดใช้การดำเนินการกับข้อมูลสำหรับประเภทแหล่งข้อมูลที่เจาะจง

รีเทิร์น

DataSourceTable — ออบเจ็กต์ข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

removeAllColumns()

นำคอลัมน์ทั้งหมดในตารางแหล่งข้อมูลออก

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

removeAllSortSpecs()

นำข้อกำหนดในการจัดเรียงทั้งหมดออกในตารางแหล่งข้อมูล

รีเทิร์น

DataSourceTable — ชีตแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

setRowLimit(rowLimit)

อัปเดตจำนวนแถวสูงสุดสำหรับตารางแหล่งข้อมูล หากจำนวนแถวที่ระบุสูงสุดคือ null ให้อัปเดตตารางแหล่งข้อมูลเพื่อใช้ขีดจำกัดแถวสูงสุดเริ่มต้นตามที่แสดงใน UI ของ Google ชีต

พารามิเตอร์

ชื่อTypeคำอธิบาย
rowLimitIntegerจำนวนแถวใหม่สำหรับตารางข้อมูล หากเป็น null ให้อัปเดตตารางเพื่อใช้ขีดจำกัดแถวเริ่มต้น

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

syncAllColumns()

ซิงค์คอลัมน์ในปัจจุบันและอนาคตทั้งหมดในแหล่งข้อมูลที่เชื่อมโยงกับตารางแหล่งข้อมูล

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

waitForCompletion(timeoutInSeconds)

รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสิ้น และหมดเวลาหลังจากครบจำนวนวินาทีที่ระบุ จะแสดงข้อยกเว้นหากการดำเนินการไม่เสร็จสมบูรณ์เมื่อหมดเวลา แต่ไม่ได้ยกเลิกการดำเนินการกับข้อมูล

พารามิเตอร์

ชื่อTypeคำอธิบาย
timeoutInSecondsIntegerเวลาที่รอการดำเนินการข้อมูล หน่วยเป็นวินาที โดยมีความยาวสูงสุด 300 วินาที

รีเทิร์น

DataExecutionStatus — สถานะการดำเนินการกับข้อมูล

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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