Trang tính liên kết cho phép bạn phân tích hàng petabyte dữ liệu ngay trong Google Trang tính. Bạn có thể kết nối bảng tính với kho dữ liệu BigQuery và phân tích bằng cách sử dụng các công cụ quen thuộc trong Trang tính như bảng tổng hợp, biểu đồ và công thức.
Hướng dẫn này dùng tập dữ liệu công khai Shakespeare
để cho biết cách sử dụng Trang tính liên kết. Tập dữ liệu chứa các thông tin sau:
Trường | Loại | Nội dung mô tả |
---|---|---|
word | STRING |
Một từ duy nhất (trong đó khoảng trắng là dấu phân cách) được trích xuất từ một tập sao lục. |
word_count | INTEGER |
Số lần từ này xuất hiện trong tập sao lục này. |
khối tập hợp | STRING |
Tác phẩm mà từ này được trích xuất. |
corpus_date | INTEGER |
Năm xuất bản tập sao lục này. |
Nếu yêu cầu dữ liệu trên Trang tính liên kết, thì ứng dụng của bạn phải cung cấp mã thông báo OAuth 2.0 cấp phạm vi bigquery.readonly
, ngoài các phạm vi khác cần thiết đối với yêu cầu API Google Trang tính thông thường. Để biết thêm thông tin, hãy xem phần Chọn phạm vi API Google Trang tính.
Quản lý nguồn dữ liệu
Nguồn dữ liệu chỉ định một vị trí bên ngoài nơi tìm thấy dữ liệu. Sau đó, nguồn dữ liệu này được kết nối với bảng tính.
Thêm nguồn dữ liệu BigQuery
Để thêm nguồn dữ liệu, hãy cung cấp AddDataSourceRequest
bằng phương thức spreadsheets.batchUpdate
. Nội dung yêu cầu phải chỉ định trường dataSource
thuộc loại đối tượng DataSource
.
"addDataSource":{
"dataSource":{
"spec":{
"bigQuery":{
"projectId":"PROJECT_ID",
"tableSpec":{
"tableProjectId":"bigquery-public-data",
"datasetId":"samples",
"tableId":"shakespeare"
}
}
}
}
}
Thay thế PROJECT_ID bằng một mã dự án hợp lệ trên Google Cloud.
Sau khi tạo nguồn dữ liệu, hệ thống sẽ tạo một trang DATA_SOURCE
liên kết để cung cấp bản xem trước gồm tối đa 500 hàng. Bản xem trước sẽ không có sẵn ngay lập tức. Một lượt thực thi được kích hoạt không đồng bộ để nhập dữ liệu BigQuery.
AddDataSourceResponse
chứa các trường sau:
dataSource
: Đối tượngDataSource
đã tạo.dataSourceId
là một mã nhận dạng duy nhất trong phạm vi bảng tính. Chuỗi này được điền sẵn và tham chiếu để tạo từng đối tượngDataSource
từ nguồn dữ liệu.dataExecutionStatus
: Trạng thái của quá trình thực thi nhập dữ liệu BigQuery vào trang xem trước. Để biết thêm thông tin, hãy xem phần Trạng thái thực thi dữ liệu.
Cập nhật hoặc xoá một nguồn dữ liệu
Sử dụng phương thức spreadsheets.batchUpdate
và cung cấp yêu cầu UpdateDataSourceRequest
hoặc DeleteDataSourceRequest
cho phù hợp.
Quản lý đối tượng nguồn dữ liệu
Sau khi thêm một nguồn dữ liệu vào bảng tính, hệ thống có thể tạo một đối tượng nguồn dữ liệu từ nguồn dữ liệu đó. Đối tượng nguồn dữ liệu là một công cụ thông thường của Trang tính như bảng tổng hợp, biểu đồ và công thức được tích hợp với Trang tính liên kết để hỗ trợ hoạt động phân tích dữ liệu.
Có 4 loại đối tượng:
DataSource
bảngDataSource
pivotTable- Biểu đồ
DataSource
DataSource
công thức
Thêm bảng nguồn dữ liệu
Còn được gọi là "trích xuất" trong Trình chỉnh sửa Trang tính, đối tượng bảng sẽ nhập một tệp kết xuất tĩnh của dữ liệu từ nguồn dữ liệu vào Trang tính. Tương tự như bảng tổng hợp, bảng được chỉ định và liên kết với ô trên cùng bên trái.
Mã mẫu sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdate
và UpdateCellsRequest
để tạo bảng nguồn dữ liệu có tối đa 1.000 hàng gồm 2 cột (word
và word_count
).
"updateCells":{
"rows":{
"values":[
{
"dataSourceTable":{
"dataSourceId":"DATA_SOURCE_ID",
"columns":[
{
"name":"word"
},
{
"name":"word_count"
}
],
"rowLimit":{
"value":1000
},
"columnSelectionType":"SELECTED"
}
}
]
},
"fields":"dataSourceTable"
}
Thay thế DATA_SOURCE_ID bằng một mã nhận dạng duy nhất trong phạm vi bảng tính giúp xác định nguồn dữ liệu.
Sau khi tạo bảng nguồn dữ liệu, dữ liệu sẽ không có ngay lập tức. Trong Trình chỉnh sửa Trang tính, tệp được hiển thị dưới dạng bản xem trước. Bạn cần làm mới bảng nguồn dữ liệu để tìm nạp dữ liệu BigQuery. Bạn có thể chỉ định một RefreshDataSourceRequest
trong cùng một batchUpdate
. Xin lưu ý rằng tất cả các đối tượng nguồn dữ liệu hoạt động theo cách tương tự nhau.
Để biết thêm thông tin, hãy xem phần Làm mới đối tượng nguồn dữ liệu.
Sau khi quá trình làm mới hoàn tất và dữ liệu BigQuery được tìm nạp, bảng nguồn dữ liệu sẽ được điền như sau:
Thêm bảng tổng hợp nguồn dữ liệu
Không giống như bảng tổng hợp thông thường, bảng tổng hợp của nguồn dữ liệu được hỗ trợ bởi một nguồn dữ liệu và tham chiếu dữ liệu theo tên cột. Mã mẫu sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdate
và UpdateCellsRequest
để tạo bảng tổng hợp cho thấy tổng số từ theo khối liệu.
"updateCells":{
"rows":{
"values":[
{
"pivotTable":{
"dataSourceId":"DATA_SOURCE_ID",
"rows":{
"dataSourceColumnReference":{
"name":"corpus"
},
"sortOrder":"ASCENDING"
},
"values":{
"summarizeFunction":"SUM",
"dataSourceColumnReference":{
"name":"word_count"
}
}
}
}
]
},
"fields":"pivotTable"
}
Thay thế DATA_SOURCE_ID bằng một mã nhận dạng duy nhất trong phạm vi bảng tính giúp xác định nguồn dữ liệu.
Sau khi dữ liệu BigQuery được tìm nạp, bảng tổng hợp nguồn dữ liệu sẽ được điền như sau:
Thêm biểu đồ nguồn dữ liệu
Mã mẫu sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdate
và AddChartRequest
để tạo biểu đồ nguồn dữ liệu với chartType
là COLUMN, cho thấy tổng số từ theo khối liệu.
"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"
}
}
}
Thay thế DATA_SOURCE_ID bằng một mã nhận dạng duy nhất trong phạm vi bảng tính giúp xác định nguồn dữ liệu.
Sau khi dữ liệu BigQuery được tìm nạp, biểu đồ nguồn dữ liệu sẽ hiển thị như sau:
Thêm công thức nguồn dữ liệu
Mã mẫu sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdate
và UpdateCellsRequest
để tạo công thức nguồn dữ liệu nhằm tính toán số từ trung bình.
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
Sau khi dữ liệu BigQuery được tìm nạp, công thức nguồn dữ liệu sẽ được điền như sau:
Làm mới một đối tượng nguồn dữ liệu
Bạn có thể làm mới một đối tượng nguồn dữ liệu để tìm nạp dữ liệu mới nhất từ BigQuery dựa trên thông số kỹ thuật của nguồn dữ liệu và cấu hình đối tượng hiện tại. Bạn có thể sử dụng phương thức spreadsheets.batchUpdate
để gọi RefreshDataSourceRequest
.
Sau đó, hãy chỉ định một hoặc nhiều tham chiếu đối tượng cần làm mới bằng cách sử dụng đối tượng DataSourceObjectReferences
.
Xin lưu ý rằng bạn có thể tạo và làm mới các đối tượng nguồn dữ liệu trong một yêu cầu batchUpdate
.
Trạng thái thực thi dữ liệu
Khi bạn tạo nguồn dữ liệu hoặc làm mới đối tượng nguồn dữ liệu, một tệp thực thi trong nền sẽ được tạo để tìm nạp dữ liệu từ BigQuery và trả về phản hồi chứa DataExecutionStatus
.
Nếu quá trình thực thi bắt đầu thành công, DataExecutionState
thường ở trạng thái RUNNING
.
Vì quá trình này không đồng bộ, nên ứng dụng của bạn nên triển khai một mô hình thăm dò ý kiến để truy xuất định kỳ trạng thái cho các đối tượng nguồn dữ liệu. Sử dụng phương thức spreadsheets.get
cho đến khi trạng thái trả về trạng thái SUCCEEDED
hoặc FAILED
. Quá trình thực thi sẽ hoàn tất nhanh chóng trong hầu hết các trường hợp, nhưng phụ thuộc vào mức độ phức tạp của nguồn dữ liệu. Thường thì thời gian thực thi không vượt quá 10 phút.
Chủ đề có liên quan
- Chọn phạm vi API Google Trang tính
- Bắt đầu với dữ liệu BigQuery trong Google Trang tính
- Tài liệu về BigQuery
- BigQuery: Sử dụng Trang tính liên kết
- Video hướng dẫn về Trang tính liên kết