เข้าถึงและแก้ไขตารางแหล่งข้อมูลที่มีอยู่ วิธีสร้างตารางแหล่งข้อมูลใหม่ในชีตใหม่
ใช้ 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)
เพิ่มคอลัมน์ลงในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnNames | String[] | รายการชื่อคอลัมน์ที่จะเพิ่ม |
รีเทิร์น
DataSourceTable
— ตารางแหล่งข้อมูลสำหรับการทำสายโซ่
การให้สิทธิ์
สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addFilter(columnName, filterCriteria)
เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อของคอลัมน์ที่จะใช้ตัวกรองนี้ |
filterCriteria | FilterCriteria | เกณฑ์ตัวกรองที่จะใช้ |
รีเทิร์น
DataSourceTable
— ตารางแหล่งข้อมูลสําหรับการต่อเชื่อม
การให้สิทธิ์
สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, ascending)
เพิ่มข้อกำหนดการจัดเรียงของคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อของคอลัมน์ที่จะจัดเรียง |
ascending | Boolean | หากเป็น true ให้จัดเรียงคอลัมน์จากน้อยไปหามาก หากfalse จัดเรียง
คอลัมน์ตามลำดับจากมากไปน้อย |
รีเทิร์น
DataSourceTable
— ชีตแหล่งข้อมูลสำหรับการทำสายโซ่
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, sortOrder)
เพิ่มข้อกำหนดการจัดเรียงของคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อของคอลัมน์ที่จะจัดเรียง |
sortOrder | SortOrder | ลำดับการจัดเรียง |
รีเทิร์น
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()
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()
แสดงผลว่าตารางแหล่งข้อมูลกำลังซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เกี่ยวข้องหรือไม่
รีเทิร์น
Boolean
— True
หากตารางแหล่งข้อมูลซิงค์คอลัมน์ทั้งหมดในข้อมูลที่เกี่ยวข้อง
ต้นทาง หรือ 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 ชีต
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
rowLimit | Integer | ขีดจำกัดแถวใหม่สำหรับตารางข้อมูล หากเป็น 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)
รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสมบูรณ์ โดยระบบจะหมดเวลาหลังจากผ่านไปตามจำนวนวินาทีที่ระบุ จะมีข้อยกเว้นหากการดำเนินการไม่เสร็จสมบูรณ์เมื่อหมดเวลา แต่จะไม่ยกเลิก การดำเนินการกับข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
timeoutInSeconds | Integer | เวลาที่ต้องรอการดำเนินการข้อมูล หน่วยเป็นวินาที จำนวนสูงสุดคือ 300 วินาที |
รีเทิร์น
DataExecutionStatus
— สถานะการดำเนินการกับข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets