Trang tính liên kết

Trang tính liên kết cho phép bạn phân tích nhiều 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 hoặc Looker và phân tích bằng các công cụ quen thuộc của Trang tính như bảng tổng hợp, biểu đồ và công thức.

Quản lý nguồn dữ liệu BigQuery

Phần này sử dụng tập dữ liệu công khai BigQuery Shakespeare để minh hoạ cách sử dụng Trang tính liên kết. Tập dữ liệu này chứa những thông tin sau:

Trường Loại Mô tả
word STRING Một từ duy nhất (trong đó dấu cách là dấu phân cách) được trích xuất từ một kho ngữ liệu.
word_count INTEGER Số lần từ này xuất hiện trong ngữ liệu này.
ngữ liệu STRING Tác phẩm mà từ này được trích xuất.
corpus_date INTEGER Năm xuất bản tuyển tập này.

Nếu yêu cầu bất kỳ dữ liệu nào trong Trang tính liên kết với BigQuery, 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 cho yêu cầu thông thường của Google Sheets API. Để biết thêm thông tin, hãy xem phần Chọn các phạm vi Google Sheets API.

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 sẽ được kết nối với bảng tính.

Thêm nguồn dữ liệu BigQuery

Để thêm một 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 PROJECT_ID bằng mã dự án hợp lệ trên Google Cloud.

Sau khi bạn tạo một nguồn dữ liệu, một trang tính DATA_SOURCE được liên kết sẽ được tạo để cung cấp bản xem trước tối đa 500 hàng. Bản xem trước sẽ không có ngay. Một hoạt động 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ã nhận dạng duy nhất trong phạm vi bảng tính. Thư viện 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 một hoạt động 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á nguồn dữ liệu BigQuery

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ý các đối tượng nguồn dữ liệu BigQuery

Sau khi bạn thêm một nguồn dữ liệu vào bảng tính, bạn 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, chẳng hạn như bảng tổng hợp, biểu đồ và công thức được tích hợp với Trang tính được kết nối để hỗ trợ hoạt động phân tích dữ liệu của bạn.

Có 4 loại đối tượng:

  • DataSource bảng
  • DataSource pivotTable
  • Biểu đồ DataSource
  • Công thức DataSource

Thêm bảng nguồn dữ liệu BigQuery

Đượ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 bản kết xuất tĩnh 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 này được chỉ định và neo vào ô trên cùng bên trái.

Đoạn mã sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdateUpdateCellsRequest để tạo một 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 để xác định nguồn dữ liệu.

Sau khi bạn tạo bảng nguồn dữ liệu, dữ liệu sẽ không có sẵn ngay lập tức. Trong trình chỉnh sửa Trang tính, thông tin này sẽ xuất hiện 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 đều hoạt động tương tự nhau. Để biết thêm thông tin, hãy xem bài viết 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 sẵn như sau:

Bảng 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 một nguồn dữ liệu BigQuery vào bảng tổng hợp

Không giống như bảng tổng hợp thông thường, bảng tổng hợp 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 một bảng tổng hợp cho biết tổng số từ theo ngữ 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 để 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 sẵ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 BigQuery

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 có chartType là COLUMN, cho biết tổng số từ theo ngữ 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 để 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ẽ được kết xuất như sau:

Biểu đồ 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 công thức nguồn dữ liệu BigQuery

Mã mẫu sau đây cho biết cách sử dụng phương thức spreadsheets.batchUpdateUpdateCellsRequest để tạo một công thức nguồn dữ liệu nhằm tính toán số lượng 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 sẵn như sau:

Công thức nguồn dữ liệu cho thấy dữ liệu từ 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 BigQuery

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 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 thông tin tham chiếu đối tượng để làm mới bằng đối tượng DataSourceObjectReferences.

Xin lưu ý rằng bạn có thể vừa tạo vừa làm mới các đối tượng nguồn dữ liệu trong một yêu cầu batchUpdate duy nhất.

Quản lý nguồn dữ liệu Looker

Hướng dẫn này sẽ trình bày cách thêm, cập nhật hoặc xoá một nguồn dữ liệu Looker, tạo bảng tổng hợp và làm mới nguồn dữ liệu đó.

Ứng dụng của bạn yêu cầu bất kỳ dữ liệu nào trong Trang tính được kết nối với Looker, sẽ sử dụng lại mối liên kết hiện có giữa Tài khoản Google và Looker.

Thêm nguồn dữ liệu Looker

Để thêm một 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":{
         "looker":{
            "instance_uri":"INSTANCE_URI",
            "model":"MODEL",
            "explore":"EXPLORE"
         }
      }
   }
}

Thay thế INSTANCE_URI, MODELEXPLORE bằng URI phiên bản Looker, tên mô hình và tên dữ liệu khám phá hợp lệ tương ứng.

Sau khi bạn tạo một nguồn dữ liệu, một trang tính DATA_SOURCE được liên kết sẽ được tạo để cung cấp bản xem trước về cấu trúc của dữ liệu Khám phá đã chọn, bao gồm cả các chế độ xem, phương diện, chỉ số và mọi nội dung mô tả trường.

AddDataSourceResponse chứa các trường sau:

  • dataSource: Đối tượng DataSource đã tạo. dataSourceId là mã nhận dạng riêng biệt trong phạm vi bảng tính. Nó đượ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 một hoạt động 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á nguồn dữ liệu Looker

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ý các đối tượng nguồn dữ liệu Looker

Sau khi bạn thêm một nguồn dữ liệu vào bảng tính, bạn có thể tạo một đối tượng nguồn dữ liệu từ nguồn dữ liệu đó. Đối với nguồn dữ liệu Looker, bạn chỉ có thể tạo một đối tượng DataSourcepivotTable từ nguồn dữ liệu đó.

Bạn không thể tạo DataSource công thức, trích xuất và biểu đồ từ nguồn dữ liệu Looker.

Làm mới một đối tượng nguồn dữ liệu Looker

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ừ Looker dựa trên các thông số kỹ thuật và cấu hình đối tượng hiện tại của nguồn dữ liệu. 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 thông tin tham chiếu đối tượng để làm mới bằng đối tượng DataSourceObjectReferences.

Xin lưu ý rằng bạn có thể vừa tạo vừa làm mới các đối tượng nguồn dữ liệu trong một yêu cầu batchUpdate duy nhất.

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 các đối tượng nguồn dữ liệu, một quá trình thực thi ở chế độ nền sẽ được tạo để tìm nạp dữ liệu từ BigQuery hoặc Looker và trả về một 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ì quy trình này là không đồng bộ, nên ứng dụng của bạn phải triển khai một mô hình thăm dò ý kiến để định kỳ truy xuất 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 điều này còn tuỳ thuộc vào độ phức tạp của nguồn dữ liệu. Thông thường, quá trình thực thi không quá 10 phút.