ชีตที่เชื่อมต่อ ช่วยให้คุณวิเคราะห์ข้อมูลระดับเพตะไบต์ได้โดยตรงภายใน Google ชีต คุณสามารถ เชื่อมต่อสเปรดชีตกับBigQuery หรือLookerแล้วทำการวิเคราะห์ โดยใช้เครื่องมือชีตที่คุ้นเคย เช่น ตาราง Pivot, แผนภูมิ และ สูตร
จัดการแหล่งข้อมูล BigQuery
ส่วนนี้ใช้ชุดข้อมูลสาธารณะ
Shakespeare
ของ BigQuery เพื่อแสดงวิธีใช้ชีตที่เชื่อมต่อ ชุดข้อมูลประกอบด้วยข้อมูลต่อไปนี้
| ช่อง | ประเภท | คำอธิบาย |
|---|---|---|
| คำ | STRING |
คำเดียวที่ไม่ซ้ำกัน (โดยใช้ช่องว่างเป็นตัวคั่น) ที่แยกออกมาจากคลังข้อความ |
| word_count | INTEGER |
จำนวนครั้งที่คำนี้ปรากฏในคลังข้อความ |
| corpus | STRING |
งานที่แยกคำนี้ออกมา |
| corpus_date | INTEGER |
ปีที่เผยแพร่คลังข้อความนี้ |
หากแอปพลิเคชันขอข้อมูลชีตที่เชื่อมต่อกับ BigQuery จะต้องระบุโทเค็น OAuth 2.0 ที่ให้สิทธิ์เข้าถึงขอบเขต bigquery.readonly นอกเหนือจากขอบเขตอื่นๆ ที่จำเป็นสำหรับคำขอ Google Sheets API ปกติ ดูข้อมูลเพิ่มเติมได้ที่เลือกขอบเขต Google Sheets API
scopes
แหล่งข้อมูลจะระบุตำแหน่งภายนอกที่พบข้อมูล จากนั้นระบบจะเชื่อมต่อแหล่งข้อมูลกับสเปรดชีต
เพิ่มแหล่งข้อมูล 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 ไปยังชีตตัวอย่าง ดูข้อมูลเพิ่มเติมได้ที่ส่วนสถานะการดำเนินการ ข้อมูล
อัปเดตหรือลบแหล่งข้อมูล BigQuery
ใช้วิธี
spreadsheets.batchUpdate
และระบุคำขอ
UpdateDataSourceRequest
หรือ
DeleteDataSourceRequest
ตามความเหมาะสม
จัดการออบเจ็กต์แหล่งข้อมูล BigQuery
เมื่อเพิ่มแหล่งข้อมูลลงในสเปรดชีตแล้ว คุณจะสร้างออบเจ็กต์แหล่งข้อมูลจากแหล่งข้อมูลนั้นได้ ออบเจ็กต์แหล่งข้อมูลเป็นเครื่องมือชีตปกติ เช่น ตาราง Pivot, แผนภูมิ และสูตร ซึ่งผสานรวมกับชีตที่เชื่อมต่อเพื่อช่วยในการวิเคราะห์ข้อมูล
ออบเจ็กต์มี 4 ประเภท ได้แก่
- ตาราง
DataSource DataSourcepivotTable- แผนภูมิ
DataSource - สูตร
DataSource
เพิ่มตารางแหล่งข้อมูล BigQuery
ออบเจ็กต์ตารางจะนำเข้าข้อมูลแบบคงที่จากแหล่งข้อมูลไปยังชีต ซึ่งในเครื่องมือแก้ไขชีตจะเรียกว่า "การแยกข้อมูล" ตารางจะได้รับการระบุและยึดไว้กับเซลล์ด้านซ้ายบน เช่นเดียวกับตาราง 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 แล้ว ตารางแหล่งข้อมูลจะแสดงข้อมูลดังนี้

เพิ่มตาราง Pivot แหล่งข้อมูล BigQuery
ตาราง 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 แหล่งข้อมูลจะแสดงข้อมูลดังนี้

เพิ่มแผนภูมิแหล่งข้อมูล BigQuery
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้วิธี 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 แล้ว แผนภูมิแหล่งข้อมูลจะแสดงผลดังนี้

เพิ่มสูตรแหล่งข้อมูล BigQuery
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้วิธี spreadsheets.batchUpdate และ UpdateCellsRequest เพื่อสร้างสูตรแหล่งข้อมูลสำหรับคำนวณจำนวนคำเฉลี่ย
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
หลังจากดึงข้อมูล BigQuery แล้ว สูตรแหล่งข้อมูลจะแสดงข้อมูลดังนี้

รีเฟรชออบเจ็กต์แหล่งข้อมูล BigQuery
คุณสามารถรีเฟรชออบเจ็กต์แหล่งข้อมูลเพื่อดึงข้อมูลล่าสุดจาก BigQuery ตามข้อกำหนดของแหล่งข้อมูลและการกำหนดค่าออบเจ็กต์ปัจจุบัน โดยใช้
วิธี
spreadsheets.batchUpdate
เพื่อเรียก
RefreshDataSourceRequest
จากนั้นระบุการอ้างอิงออบเจ็กต์อย่างน้อย 1 รายการที่จะรีเฟรชโดยใช้
DataSourceObjectReferences
ออบเจ็กต์
โปรดทราบว่าคุณสามารถสร้างและรีเฟรชออบเจ็กต์แหล่งข้อมูลได้ภายในคำขอ batchUpdate เดียว
จัดการแหล่งข้อมูล Looker
คู่มือนี้จะแสดงวิธีเพิ่มแหล่งข้อมูล Looker, อัปเดตหรือลบแหล่งข้อมูลดังกล่าว, สร้างตาราง Pivot ในแหล่งข้อมูล และรีเฟรชตาราง Pivot
แอปพลิเคชันที่ขอข้อมูลชีตที่เชื่อมต่อกับ Looker จะใช้ลิงก์บัญชี Google ที่มีอยู่กับ Looker อีกครั้ง
เพิ่มแหล่งข้อมูล Looker
หากต้องการเพิ่มแหล่งข้อมูล ให้ระบุ
AddDataSourceRequest
โดยใช้วิธี
spreadsheets.batchUpdate
เนื้อหาของคำขอควรระบุช่อง dataSource ของออบเจ็กต์ประเภท
DataSource
"addDataSource":{
"dataSource":{
"spec":{
"looker":{
"instance_uri":"INSTANCE_URI",
"model":"MODEL",
"explore":"EXPLORE"
}
}
}
}
แทนที่ INSTANCE_URI, MODEL และ EXPLORE ด้วย URI ของอินสแตนซ์ Looker, ชื่อโมเดล และ ชื่อ Explore ที่ถูกต้องตามลำดับ
หลังจากสร้างแหล่งข้อมูลแล้ว ระบบจะสร้างชีต
DATA_SOURCE
ที่เชื่อมโยงขึ้นมาเพื่อแสดงตัวอย่างโครงสร้างของ Explore ที่เลือก
ซึ่งรวมถึงมุมมอง มิติข้อมูล เมตริก และคำอธิบายช่อง
AddDataSourceResponse
มีช่องต่อไปนี้
dataSource: ออบเจ็กต์DataSourceที่สร้างขึ้นdataSourceIdเป็นรหัสที่ไม่ซ้ำกันซึ่งมีขอบเขตเป็นสเปรดชีต ระบบจะป้อนข้อมูลและอ้างอิงรหัสนี้เพื่อสร้างออบเจ็กต์DataSourceแต่ละรายการจากแหล่งข้อมูลdataExecutionStatus: สถานะของการดำเนินการที่นำเข้าข้อมูล BigQuery ไปยังชีตตัวอย่าง ดูข้อมูลเพิ่มเติมได้ที่ส่วนสถานะการดำเนินการ ข้อมูล
อัปเดตหรือลบแหล่งข้อมูล Looker
ใช้วิธี
spreadsheets.batchUpdate
และระบุคำขอ
UpdateDataSourceRequest
หรือ
DeleteDataSourceRequest
ตามความเหมาะสม
จัดการออบเจ็กต์แหล่งข้อมูล Looker
เมื่อเพิ่มแหล่งข้อมูลลงในสเปรดชีตแล้ว คุณจะสร้างออบเจ็กต์แหล่งข้อมูลจากแหล่งข้อมูลนั้นได้ สำหรับแหล่งข้อมูล Looker คุณจะสร้างออบเจ็กต์ DataSource pivotTable จากแหล่งข้อมูลดังกล่าวได้เท่านั้น
คุณไม่สามารถสร้างสูตร DataSource การแยกข้อมูล และแผนภูมิจากแหล่งข้อมูล Looker
รีเฟรชออบเจ็กต์แหล่งข้อมูล Looker
คุณสามารถรีเฟรชออบเจ็กต์แหล่งข้อมูลเพื่อดึงข้อมูลล่าสุดจาก Looker ตามข้อกำหนดของแหล่งข้อมูลและการกำหนดค่าออบเจ็กต์ปัจจุบัน โดยใช้
วิธี
spreadsheets.batchUpdate
เพื่อเรียก
RefreshDataSourceRequest
จากนั้นระบุการอ้างอิงออบเจ็กต์อย่างน้อย 1 รายการที่จะรีเฟรชโดยใช้
DataSourceObjectReferences
ออบเจ็กต์
โปรดทราบว่าคุณสามารถสร้างและรีเฟรชออบเจ็กต์แหล่งข้อมูลได้ภายในคำขอ batchUpdate เดียว
สถานะการดำเนินการข้อมูล
เมื่อคุณสร้างแหล่งข้อมูลหรือรีเฟรชออบเจ็กต์แหล่งข้อมูล ระบบจะสร้างการดำเนินการเบื้องหลัง
เพื่อดึงข้อมูลจาก BigQuery หรือ Looker และส่งคืนการตอบกลับ
ที่มี
DataExecutionStatus
หากการดำเนินการเริ่มต้นได้สำเร็จ
DataExecutionState
จะอยู่ในสถานะ RUNNING โดยปกติ
เนื่องจากกระบวนการนี้เป็นแบบไม่พร้อมกัน แอปพลิเคชันของคุณจึงควรใช้โมเดลการโพลเพื่อดึงข้อมูลสถานะของออบเจ็กต์แหล่งข้อมูลเป็นระยะ ใช้วิธี
spreadsheets.get
จนกว่าสถานะจะแสดงผลเป็นสถานะ SUCCEEDED หรือ FAILED
การดำเนินการจะเสร็จสมบูรณ์อย่างรวดเร็วในกรณีส่วนใหญ่ แต่จะขึ้นอยู่กับความซับซ้อนของแหล่งข้อมูล โดยปกติการดำเนินการจะใช้เวลาไม่เกิน 10 นาที
หัวข้อที่เกี่ยวข้อง
- เลือกขอบเขต Google Sheets API
- เริ่มต้นใช้งานข้อมูล BigQuery ใน Google ชีต
- เอกสารประกอบของ BigQuery
- BigQuery: การใช้ชีตที่เชื่อมต่อ
- วิดีโอบทแนะนำชีตที่เชื่อมต่อ
- การใช้ชีตที่เชื่อมต่อสำหรับ Looker
- ข้อมูลเบื้องต้นเกี่ยวกับ Looker