連結試算表

連結試算表可讓您直接在 Google 試算表中分析 PB 等級的資料。您可以將試算表連結至 BigQuery 資料倉儲或 Looker,然後使用熟悉的試算表工具 (例如資料透視表、圖表和公式) 進行分析。

管理 BigQuery 資料來源

本節將使用 BigQuery Shakespeare 公開資料集,說明如何使用連結試算表。資料集包含以下資訊:

欄位 類型 說明
字詞 STRING 從語料庫中擷取的單一獨特字詞 (空格為分隔符)。
word_count INTEGER 這個字詞在語料庫中出現的次數。
corpus STRING 這個字詞所屬的著作。
corpus_date INTEGER 這個詞彙庫的出版年份。

如果應用程式要求任何 BigQuery 連結試算表資料,除了一般 Google 試算表 API 要求所需的其他範圍外,還必須提供可授予 bigquery.readonly 範圍的 OAuth 2.0 權杖。詳情請參閱「選擇 Google Sheets API 範圍」。

資料來源會指定資料所在的外部位置。資料來源隨即連結至試算表。

新增 BigQuery 資料來源

如要新增資料來源,請使用 spreadsheets.batchUpdate 方法提供 AddDataSourceRequest。要求主體應指定 dataSource 欄位,其類型為 DataSource 物件。

"addDataSource":{
   "dataSource":{
      "spec":{
         "bigQuery":{
            "projectId":"PROJECT_ID",
            "tableSpec":{
               "tableProjectId":"bigquery-public-data",
               "datasetId":"samples",
               "tableId":"shakespeare"
            }
         }
      }
   }
}

PROJECT_ID 替換為有效的 Google Cloud 專案 ID。

建立資料來源後,系統會建立相關聯的 DATA_SOURCE 工作表,最多可預覽 500 列。預覽畫面不會立即顯示。系統會非同步觸發執行作業,以便匯入 BigQuery 資料。

AddDataSourceResponse 包含下列欄位:

  • dataSource:已建立的 DataSource 物件。dataSourceId 是試算表專屬的唯一 ID。系統會填入及參照該值,以便從資料來源建立每個 DataSource 物件。

  • dataExecutionStatus:將 BigQuery 資料匯入預覽工作表的執行作業狀態。詳情請參閱「資料執行狀態」一節。

更新或刪除 BigQuery 資料來源

請使用 spreadsheets.batchUpdate 方法,並相應提供 UpdateDataSourceRequestDeleteDataSourceRequest 要求。

管理 BigQuery 資料來源物件

將資料來源新增至試算表後,即可從中建立資料來源物件。資料來源物件是一般 Google 試算表工具,例如資料透視表、圖表和公式,這些工具已整合連結的 Google 試算表,可強化資料分析功能。

物件分為四種類型:

  • DataSource 個資料表
  • DataSource pivotTable
  • DataSource」圖表
  • DataSource 公式

新增 BigQuery 資料來源表

在試算表編輯器中稱為「擷取」,資料表物件會將資料來源的靜態資料轉儲匯入試算表。與樞紐分析表類似,表格會指定並錨定至左上方儲存格。

以下程式碼範例說明如何使用 spreadsheets.batchUpdate 方法和 UpdateCellsRequest,建立最多 1000 列、兩個資料欄 (wordword_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 替換為用於識別資料來源的試算表範圍專屬 ID。

建立資料來源表後,資料不會立即可用。在 Google 試算表編輯器中,系統會顯示預覽畫面。您需要重新整理資料來源表格,才能擷取 BigQuery 資料。您可以在同一個 batchUpdate 中指定 RefreshDataSourceRequest。請注意,所有資料來源物件都運作方式類似。詳情請參閱「重新整理資料來源物件」。

重新整理作業完成並擷取 BigQuery 資料後,資料來源表格會填入資料,如下所示:

資料來源資料表,顯示莎士比亞公開資料集的資料。

新增 BigQuery 資料來源樞紐資料表

與傳統資料透視表不同,資料來源資料透視表是由資料來源提供支援,並根據資料欄名稱參照資料。以下程式碼範例說明如何使用 spreadsheets.batchUpdate 方法和 UpdateCellsRequest 建立資料透視表,顯示字詞總數和字詞庫。

"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 替換為用於識別資料來源的試算表範圍專屬 ID。

擷取 BigQuery 資料後,資料來源樞紐分析表會填入資料,如下所示:

資料來源資料透視表,顯示莎士比亞公開資料集的資料。

新增 BigQuery 資料來源圖表

以下程式碼範例說明如何使用 spreadsheets.batchUpdate 方法和 AddChartRequest 建立資料來源圖表,並使用 chartType 的資料欄顯示字詞總數,依字庫顯示。

"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 替換為用於識別資料來源的試算表範圍專屬 ID。

擷取 BigQuery 資料後,系統會顯示如下所示的資料來源圖表:

資料來源圖表,顯示莎士比亞公開資料集的資料。

新增 BigQuery 資料來源公式

以下程式碼範例說明如何使用 spreadsheets.batchUpdate 方法和 UpdateCellsRequest 建立資料來源公式,以便計算平均字數。

"updateCells":{
   "rows":[
      {
         "values":[
            {
               "userEnteredValue":{
                  "formulaValue":"=AVERAGE(shakespeare!word_count)"
               }
            }
         ]
      }
   ],
   "fields":"userEnteredValue"
}

擷取 BigQuery 資料後,系統會填入資料來源公式,如下所示:

資料來源公式,顯示莎士比亞公開資料集的資料。

重新整理 BigQuery 資料來源物件

您可以重新整理資料來源物件,根據目前的資料來源規格和物件設定,從 BigQuery 擷取最新資料。您可以使用 spreadsheets.batchUpdate 方法呼叫 RefreshDataSourceRequest。接著,使用 DataSourceObjectReferences 物件指定一或多個要重新整理的物件參照。

請注意,您可以在單一 batchUpdate 要求中建立及重新整理資料來源物件。

管理 Looker 資料來源

本指南將說明如何新增、更新或刪除 Looker 資料來源,以及如何在 Looker 中建立及重新整理資料透視表。

應用程式要求任何 Looker 連結試算表資料時,會重複使用您與 Looker 建立的現有 Google 帳戶連結。

新增 Looker 資料來源

如要新增資料來源,請使用 spreadsheets.batchUpdate 方法提供 AddDataSourceRequest。要求主體應指定 dataSource 欄位,其類型為 DataSource 物件。

"addDataSource":{
   "dataSource":{
      "spec":{
         "looker":{
            "instance_uri":"INSTANCE_URI",
            "model":"MODEL",
            "explore":"EXPLORE"
         }
      }
   }
}

請將 INSTANCE_URIMODELEXPLORE 分別替換為有效的 Looker 例項 URI、模型名稱和探索名稱。

建立資料來源後,系統會建立相關聯的 DATA_SOURCE 工作表,提供所選探索結構的預覽畫面,包括檢視畫面、維度、指標和任何欄位說明。

AddDataSourceResponse 包含下列欄位:

  • dataSource:已建立的 DataSource 物件。dataSourceId 是試算表專屬的唯一 ID。系統會填入及參照該值,以便從資料來源建立每個 DataSource 物件。

  • dataExecutionStatus:將 BigQuery 資料匯入預覽工作表的執行作業狀態。詳情請參閱「資料執行狀態」一節。

更新或刪除 Looker 資料來源

請使用 spreadsheets.batchUpdate 方法,並相應提供 UpdateDataSourceRequestDeleteDataSourceRequest 要求。

管理 Looker 資料來源物件

將資料來源新增至試算表後,即可從中建立資料來源物件。對於 Looker 資料來源,您只能從中建立 DataSource 資料透視表物件。

您無法使用 Looker 資料來源建立 DataSource 公式、擷取項目和圖表。

重新整理 Looker 資料來源物件

您可以重新整理資料來源物件,根據目前的資料來源規格和物件設定,從 Looker 擷取最新資料。您可以使用 spreadsheets.batchUpdate 方法呼叫 RefreshDataSourceRequest。接著,使用 DataSourceObjectReferences 物件指定一或多個要重新整理的物件參照。

請注意,您可以在單一 batchUpdate 要求中建立及重新整理資料來源物件。

資料執行狀態

建立資料來源或重新整理資料來源物件時,系統會建立背景執行作業,從 BigQuery 或 Looker 擷取資料,並傳回包含 DataExecutionStatus 的回應。如果執行作業成功啟動,DataExecutionState 通常會處於 RUNNING 狀態。

由於這項程序是非同步的,因此應用程式應實作輪詢模型,以便定期擷取資料來源物件的狀態。請使用 spreadsheets.get 方法,直到狀態傳回 SUCCEEDEDFAILED 狀態為止。在大多數情況下,執行作業會很快完成,但這取決於資料來源的複雜度。執行作業通常不會超過 10 分鐘。