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

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
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