Class DataSourceTable

DataSourceTable

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

ใช้คลาสนี้กับแหล่งข้อมูล BigQuery เท่านั้น

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

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เพิ่มข้อกำหนดการจัดเรียงของคอลัมน์ในตารางแหล่งข้อมูล
cancelDataRefresh()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)

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

พารามิเตอร์

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

รีเทิร์น

DataSourceTable — ตารางแหล่งข้อมูลสำหรับการทำสายโซ่

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

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

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

addFilter(columnName, filterCriteria)

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

พารามิเตอร์

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

รีเทิร์น

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

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

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

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

addSortSpec(columnName, ascending)

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

พารามิเตอร์

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

รีเทิร์น

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

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

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

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

addSortSpec(columnName, sortOrder)

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

พารามิเตอร์

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

รีเทิร์น

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

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

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

  • 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 — ออบเจ็กต์ข้อมูล

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

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

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

forceRefreshData()

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

มีข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้เมธอด 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 ชีต

พารามิเตอร์

ชื่อประเภทคำอธิบาย
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)

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

พารามิเตอร์

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

รีเทิร์น

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

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

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

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