ชีตที่เชื่อมต่อ ช่วยให้คุณวิเคราะห์ข้อมูลในระดับเพตะไบต์ภายใน Google ชีตได้โดยตรง คุณสามารถเชื่อมต่อสเปรดชีตกับคลังข้อมูล BigQuery และวิเคราะห์โดยใช้เครื่องมือชีตที่คุ้นเคย เช่น ตาราง Pivot, แผนภูมิ และสูตร
คู่มือนี้ใช้ชุดข้อมูลสาธารณะ Shakespeare
เพื่อแสดงวิธีใช้ชีตที่เชื่อมต่อ โดยชุดข้อมูลจะมีข้อมูลต่อไปนี้
ฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
คำศัพท์ | STRING |
คำที่ไม่ซ้ำกันคำเดียว (โดยที่ช่องว่างเป็นตัวคั่น) ที่ดึงมาจากคลังข้อมูล |
word_count | INTEGER |
จำนวนครั้งที่คำนี้ปรากฏในคลังข้อมูลนี้ |
คลังข้อมูล | STRING |
ผลงานที่มีการแยกคํานี้ |
corpus_date | INTEGER |
ปีที่มีการเผยแพร่คลังข้อมูลนี้ |
หากแอปพลิเคชันขอข้อมูลชีตที่เชื่อมต่อ แอปพลิเคชันนั้นต้องมีโทเค็น OAuth 2.0 ที่ให้สิทธิ์ขอบเขต bigquery.readonly
นอกเหนือจากขอบเขตอื่นๆ ที่จำเป็นสำหรับคำขอ Google ชีต API ปกติ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเลือกขอบเขต Google Sheets API
จัดการแหล่งข้อมูล
แหล่งข้อมูลจะระบุตําแหน่งภายนอกซึ่งมีข้อมูล จากนั้นแหล่งข้อมูลจะเชื่อมต่อกับสเปรดชีต
เพิ่มแหล่งข้อมูล BigQuery
หากต้องการเพิ่มแหล่งข้อมูล ให้ระบุ AddDataSourceRequest
โดยใช้เมธอด spreadsheets.batchUpdate
เนื้อหาของคำขอควรระบุช่อง dataSource
ของออบเจ็กต์ประเภท DataSource
"addDataSource":{
"dataSource":{
"spec":{
"bigQuery":{
"projectId":"PROJECT_ID",
"tableSpec":{
"tableProjectId":"bigquery-public-data",
"datasetId":"samples",
"tableId":"shakespeare"
}
}
}
}
}
แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ Google Cloud ที่ถูกต้อง
หลังจากสร้างแหล่งข้อมูลแล้ว ระบบจะสร้างชีต DATA_SOURCE
ที่เชื่อมโยงเพื่อแสดงตัวอย่างแถวสูงสุด 500 แถว ไม่สามารถดูตัวอย่างได้ในทันที ระบบจะทริกเกอร์การดำเนินการแบบไม่พร้อมกันเพื่อนำเข้าข้อมูล BigQuery
AddDataSourceResponse
มีช่องต่อไปนี้
dataSource
: ออบเจ็กต์DataSource
ที่สร้างdataSourceId
เป็นรหัสที่ไม่ซ้ำกันที่มีการกำหนดขอบเขตของสเปรดชีต ระบบจะป้อนข้อมูลและอ้างอิงเพื่อสร้างออบเจ็กต์DataSource
แต่ละรายการจากแหล่งข้อมูลdataExecutionStatus
: สถานะของการดำเนินการที่นำเข้าข้อมูล BigQuery ไปยังการ์ดตัวอย่างโฆษณา ดูข้อมูลเพิ่มเติมได้ที่ส่วนสถานะการเรียกใช้ข้อมูล
อัปเดตหรือลบแหล่งข้อมูล
ให้ใช้เมธอด spreadsheets.batchUpdate
และระบุคำขอ UpdateDataSourceRequest
หรือ DeleteDataSourceRequest
ตามความเหมาะสม
จัดการออบเจ็กต์แหล่งข้อมูล
เมื่อเพิ่มแหล่งข้อมูลลงในสเปรดชีตแล้ว ระบบจะสร้างออบเจ็กต์แหล่งข้อมูลได้จากแหล่งข้อมูลนั้น ออบเจ็กต์แหล่งข้อมูลคือเครื่องมือทั่วไปของชีต เช่น ตาราง Pivot, แผนภูมิ และสูตรที่ผสานรวมกับชีตที่เชื่อมต่อเพื่อช่วยขับเคลื่อนการวิเคราะห์ข้อมูล
วัตถุมี 4 ประเภทดังนี้
- ตาราง
DataSource
DataSource
pivotTable- แผนภูมิ
DataSource
- สูตร
DataSource
เพิ่มตารางแหล่งข้อมูล
ออบเจ็กต์ตารางหรือที่เรียกว่า "การดึงข้อมูล" ในเครื่องมือแก้ไขชีตจะนำเข้าข้อมูลแบบคงที่จากแหล่งข้อมูลไปยังชีต โดยระบบจะระบุตารางและตรึงไว้กับเซลล์ด้านบนซ้ายเช่นเดียวกับตาราง Pivot
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate
และ UpdateCellsRequest
เพื่อสร้างตารางแหล่งข้อมูลที่มีแถวสูงสุด 1,000 แถวและ 2 คอลัมน์ (word
และword_count
)
"updateCells":{
"rows":{
"values":[
{
"dataSourceTable":{
"dataSourceId":"DATA_SOURCE_ID",
"columns":[
{
"name":"word"
},
{
"name":"word_count"
}
],
"rowLimit":{
"value":1000
},
"columnSelectionType":"SELECTED"
}
}
]
},
"fields":"dataSourceTable"
}
แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล
หลังจากสร้างตารางแหล่งข้อมูลแล้ว ข้อมูลจะใช้งานไม่ได้ทันที เครื่องมือแก้ไขชีตจะแสดงเป็นตัวอย่าง คุณต้องรีเฟรชตารางแหล่งข้อมูลเพื่อดึงข้อมูล BigQuery คุณระบุ RefreshDataSourceRequest
ภายใน batchUpdate
เดียวกันได้ โปรดทราบว่าออบเจ็กต์แหล่งข้อมูลทั้งหมดทำงานคล้ายกัน
โปรดดูข้อมูลเพิ่มเติมที่หัวข้อรีเฟรชออบเจ็กต์แหล่งข้อมูล
หลังจากรีเฟรชและดึงข้อมูล BigQuery เสร็จแล้ว ตารางแหล่งข้อมูลจะปรากฏขึ้นตามที่แสดง
เพิ่ม PivotTable ของแหล่งข้อมูล
ตาราง Pivot ของแหล่งข้อมูลแตกต่างจากตาราง Pivot แบบเดิมตรงที่ตาราง Pivot ของแหล่งข้อมูลรองรับและอ้างอิงข้อมูลตามชื่อคอลัมน์ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate
และ UpdateCellsRequest
เพื่อสร้างตาราง Pivot ซึ่งแสดงจำนวนคำทั้งหมดตามคลังข้อมูล
"updateCells":{
"rows":{
"values":[
{
"pivotTable":{
"dataSourceId":"DATA_SOURCE_ID",
"rows":{
"dataSourceColumnReference":{
"name":"corpus"
},
"sortOrder":"ASCENDING"
},
"values":{
"summarizeFunction":"SUM",
"dataSourceColumnReference":{
"name":"word_count"
}
}
}
}
]
},
"fields":"pivotTable"
}
แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล
หลังจากดึงข้อมูล BigQuery แล้ว ระบบจะเติมตาราง Pivot ของแหล่งข้อมูลตามที่แสดงไว้
เพิ่มแผนภูมิแหล่งข้อมูล
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate
และ AddChartRequest
เพื่อสร้างแผนภูมิแหล่งข้อมูลที่มี chartType
เป็น COLUMN ซึ่งแสดงจำนวนคำทั้งหมดตามคลังข้อมูล
"addChart":{
"chart":{
"spec":{
"title":"Corpus by word count",
"basicChart":{
"chartType":"COLUMN",
"domains":[
{
"domain":{
"columnReference":{
"name":"corpus"
}
}
}
],
"series":[
{
"series":{
"columnReference":{
"name":"word_count"
},
"aggregateType":"SUM"
}
}
]
}
},
"dataSourceChartProperties":{
"dataSourceId":"DATA_SOURCE_ID"
}
}
}
แทนที่ DATA_SOURCE_ID ด้วยรหัสที่ไม่ซ้ำกันของสเปรดชีตที่ระบุแหล่งข้อมูล
หลังจากดึงข้อมูล BigQuery แล้ว แผนภูมิแหล่งข้อมูลจะแสดงผลตามที่แสดง
เพิ่มสูตรแหล่งข้อมูล
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้เมธอด spreadsheets.batchUpdate
และ UpdateCellsRequest
เพื่อสร้างสูตรแหล่งข้อมูลเพื่อคำนวณจำนวนคำเฉลี่ย
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
หลังจากดึงข้อมูล BigQuery แล้ว ระบบจะเติมสูตรแหล่งข้อมูลตามที่แสดงไว้
รีเฟรชออบเจ็กต์แหล่งข้อมูล
คุณรีเฟรชออบเจ็กต์แหล่งข้อมูลเพื่อดึงข้อมูลล่าสุดจาก BigQuery ได้โดยอิงตามข้อกำหนดของแหล่งข้อมูลปัจจุบันและการกำหนดค่าออบเจ็กต์ คุณใช้เมธอด spreadsheets.batchUpdate
เพื่อเรียก RefreshDataSourceRequest
ได้
จากนั้นระบุการอ้างอิงออบเจ็กต์อย่างน้อย 1 รายการเพื่อรีเฟรชโดยใช้ออบเจ็กต์ DataSourceObjectReferences
โปรดทราบว่าคุณสร้างและรีเฟรชออบเจ็กต์แหล่งข้อมูลภายในคำขอ batchUpdate
รายการเดียวได้
สถานะการดำเนินการกับข้อมูล
เมื่อคุณสร้างแหล่งข้อมูลหรือรีเฟรชออบเจ็กต์แหล่งข้อมูล ระบบจะสร้างการดำเนินการเบื้องหลังเพื่อดึงข้อมูลจาก BigQuery และแสดงผลการตอบกลับที่มี DataExecutionStatus
หากการดำเนินการเริ่มต้นขึ้นเรียบร้อยแล้ว โดยปกติ DataExecutionState
จะอยู่ในสถานะ RUNNING
เนื่องจากกระบวนการนี้ไม่พร้อมกัน แอปพลิเคชันของคุณจึงควรใช้โมเดลแบบสำรวจเพื่อเรียกสถานะของออบเจ็กต์แหล่งข้อมูลเป็นระยะๆ ให้ใช้เมธอด spreadsheets.get
จนกว่าสถานะจะแสดงสถานะ SUCCEEDED
หรือ FAILED
ในกรณีส่วนใหญ่ การดำเนินการจะเสร็จสิ้นอย่างรวดเร็ว แต่ก็ขึ้นอยู่กับความซับซ้อนของแหล่งข้อมูล โดยปกติการดำเนินการจะไม่เกิน 10 นาที
หัวข้อที่เกี่ยวข้อง
- เลือกขอบเขต Google Sheets API
- เริ่มต้นใช้งานข้อมูล BigQuery ใน Google ชีต
- เอกสารประกอบของ BigQuery
- BigQuery: การใช้ชีตที่เชื่อมต่อ
- วิดีโอบทแนะนำเกี่ยวกับชีตที่เชื่อมต่อ