Trang tính liên kết

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ượng DataSource đã 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ượng DataSource 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ảng
  • DataSource 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.batchUpdateUpdateCellsRequest để tạo bảng nguồn dữ liệu có tối đa 1.000 hàng gồm 2 cột (wordword_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:

Bảng nguồn dữ liệu cho thấy dữ liệu của tập dữ liệu công khai của Shakespeare.

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.batchUpdateUpdateCellsRequest để 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:

Bảng tổng hợp nguồn dữ liệu cho thấy dữ liệu từ tập dữ liệu công khai của Shakespeare.

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.batchUpdateAddChartRequest để 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:

Biểu đồ nguồn dữ liệu hiển thị dữ liệu từ tập dữ liệu công khai của Shakespeare.

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.batchUpdateUpdateCellsRequest để 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:

Công thức nguồn dữ liệu cho thấy dữ liệu của tập dữ liệu công khai của Shakespeare.

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.