Verbundene Tabellenblätter

Mit verbundenen Tabellenblättern können Sie Petabyte an Daten direkt in Google Tabellen analysieren. Sie können Ihre Tabellen mit einem BigQuery-Data Warehouse oder Looker verknüpfen und die Analyse mithilfe vertrauter Sheets-Tools wie Pivot-Tabellen, Diagrammen und Formeln durchführen.

BigQuery-Datenquelle verwalten

In diesem Abschnitt wird anhand des öffentlichen BigQuery-Datasets Shakespeare gezeigt, wie Sie verbundene Tabellenblätter verwenden. Der Datensatz enthält die folgenden Informationen:

Feld Typ Beschreibung
Wort STRING Ein einzelnes eindeutiges Wort, das aus einem Korpus extrahiert wurde und bei dem Leerzeichen als Trennzeichen dienen.
word_count INTEGER Gibt an, wie oft dieses Wort in diesem Korpus vorkommt.
Korpus STRING Das Werk, aus dem dieses Wort extrahiert wurde.
corpus_date INTEGER Das Jahr, in dem dieses Corpus veröffentlicht wurde.

Wenn Ihre Anwendung Daten aus verbundenen BigQuery-Tabellenblättern anfordert, muss sie zusätzlich zu den anderen Bereichen, die für eine normale Google Tabellen API-Anfrage erforderlich sind, ein OAuth 2.0-Token mit dem Bereich bigquery.readonly angeben. Weitere Informationen finden Sie unter Google Sheets API-Bereiche auswählen.

Eine Datenquelle gibt einen externen Speicherort an, an dem Daten gefunden werden. Die Datenquelle wird dann mit der Tabelle verbunden.

BigQuery-Datenquelle hinzufügen

Wenn Sie eine Datenquelle hinzufügen möchten, geben Sie mit der Methode spreadsheets.batchUpdate einen AddDataSourceRequest an. Der Anfragetext sollte ein dataSource-Feld vom Typ DataSource-Objekt angeben.

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

Ersetzen Sie PROJECT_ID durch eine gültige Google Cloud-Projekt-ID.

Nach dem Erstellen einer Datenquelle wird ein zugehöriges DATA_SOURCE-Tabellenblatt erstellt, das eine Vorschau von bis zu 500 Zeilen enthält. Die Vorschau ist nicht sofort verfügbar. Für den Import der BigQuery-Daten wird eine Ausführung asynchron ausgelöst.

AddDataSourceResponse enthält die folgenden Felder:

  • dataSource: Das erstellte DataSource-Objekt. dataSourceId ist eine eindeutige ID auf Tabellenebene. Es wird ausgefüllt und referenziert, um jedes DataSource-Objekt aus der Datenquelle zu erstellen.

  • dataExecutionStatus: Der Status einer Ausführung, bei der BigQuery-Daten in das Vorschaublatt importiert werden. Weitere Informationen finden Sie im Abschnitt Status der Datenausführung.

BigQuery-Datenquelle aktualisieren oder löschen

Verwenden Sie die Methode spreadsheets.batchUpdate und geben Sie eine UpdateDataSourceRequest- oder DeleteDataSourceRequest-Anfrage an.

BigQuery-Datenquellenobjekte verwalten

Nachdem der Tabelle eine Datenquelle hinzugefügt wurde, kann daraus ein Datenquellenobjekt erstellt werden. Ein Datenquellenobjekt ist ein reguläres Google Tabellen-Tool wie Pivot-Tabellen, Diagramme und Formeln, das in verbundene Tabellenblätter eingebunden ist, um Ihre Datenanalyse zu unterstützen.

Es gibt vier Arten von Objekten:

  • DataSource Tabelle
  • DataSource pivotTable
  • Diagramm zu DataSource
  • DataSource-Formel

BigQuery-Datenquellentabelle hinzufügen

Das Tabellenobjekt wird im Google Tabellen-Editor als „Extrakt“ bezeichnet und importiert einen statischen Datendump aus der Datenquelle in Google Tabellen. Ähnlich wie bei einer Pivot-Tabelle wird die Tabelle oben links in der Zelle festgelegt und verankert.

Im folgenden Codebeispiel wird gezeigt, wie Sie mit der Methode spreadsheets.batchUpdate und einem UpdateCellsRequest eine Datenquellentabelle mit bis zu 1.000 Zeilen und zwei Spalten (word und word_count) erstellen.

"updateCells":{
   "rows":{
      "values":[
         {
            "dataSourceTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "columns":[
                  {
                     "name":"word"
                  },
                  {
                     "name":"word_count"
                  }
               ],
               "rowLimit":{
                  "value":1000
               },
               "columnSelectionType":"SELECTED"
            }
         }
      ]
   },
   "fields":"dataSourceTable"
}

Ersetzen Sie DATA_SOURCE_ID durch eine eindeutige ID auf Tabellenebene, die die Datenquelle identifiziert.

Nach der Erstellung einer Datenquellentabelle sind die Daten nicht sofort verfügbar. Im Google Tabellen-Editor wird eine Vorschau angezeigt. Sie müssen die Datenquellentabelle aktualisieren, um die BigQuery-Daten abzurufen. Sie können eine RefreshDataSourceRequest innerhalb desselben batchUpdate angeben. Alle Datenquellenobjekte funktionieren ähnlich. Weitere Informationen finden Sie unter Datenquellenobjekt aktualisieren.

Nach Abschluss der Aktualisierung und dem Abrufen der BigQuery-Daten wird die Datenquellentabelle wie hier dargestellt ausgefüllt:

Datenquellentabelle mit Daten aus dem öffentlichen Dataset „Shakespeare“.

Pivot-Tabelle für BigQuery-Datenquelle hinzufügen

Im Gegensatz zu einer herkömmlichen Pivot-Tabelle wird eine Datenquellen-Pivot-Tabelle von einer Datenquelle unterstützt und verweist auf die Daten anhand des Spaltennamens. Im folgenden Codebeispiel wird gezeigt, wie Sie mit der Methode spreadsheets.batchUpdate und einem UpdateCellsRequest eine Pivot-Tabelle erstellen, die die Gesamtzahl der Wörter nach Korpus enthält.

"updateCells":{
   "rows":{
      "values":[
         {
            "pivotTable":{
               "dataSourceId":"DATA_SOURCE_ID",
               "rows":{
                  "dataSourceColumnReference":{
                     "name":"corpus"
                  },
                  "sortOrder":"ASCENDING"
               },
               "values":{
                  "summarizeFunction":"SUM",
                  "dataSourceColumnReference":{
                     "name":"word_count"
                  }
               }
            }
         }
      ]
   },
   "fields":"pivotTable"
    }

Ersetzen Sie DATA_SOURCE_ID durch eine eindeutige ID auf Tabellenebene, die die Datenquelle identifiziert.

Nachdem die BigQuery-Daten abgerufen wurden, wird die Pivot-Tabelle der Datenquelle wie hier dargestellt ausgefüllt:

Pivot-Tabelle der Datenquelle mit Daten aus dem öffentlichen Shakespeare-Dataset

Diagramm für BigQuery-Datenquelle hinzufügen

Im folgenden Codebeispiel wird gezeigt, wie Sie mit der Methode spreadsheets.batchUpdate und einer AddChartRequest ein Datenquellendiagramm mit einer chartType von SPALTE erstellen, das die Gesamtzahl der Wörter nach Korpus anzeigt.

"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"
      }
   }
}

Ersetzen Sie DATA_SOURCE_ID durch eine eindeutige ID auf Tabellenebene, die die Datenquelle identifiziert.

Nachdem BigQuery-Daten abgerufen wurden, wird das Diagramm der Datenquelle so gerendert:

Datenquellendiagramm mit Daten aus dem öffentlichen Shakespeare-Dataset

BigQuery-Datenquellenformel hinzufügen

Im folgenden Codebeispiel wird gezeigt, wie Sie mit der Methode spreadsheets.batchUpdate und einem UpdateCellsRequest eine Datenquellenformel zum Berechnen der durchschnittlichen Wortanzahl erstellen.

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

Nachdem BigQuery-Daten abgerufen wurden, wird die Datenquellenformel wie hier dargestellt ausgefüllt:

Datenquellenformel mit Daten aus dem öffentlichen Shakespeare-Dataset

BigQuery-Datenquellenobjekt aktualisieren

Sie können ein Datenquellenobjekt aktualisieren, um die neuesten Daten aus BigQuery basierend auf den aktuellen Datenquellenspezifikationen und Objektkonfigurationen abzurufen. Sie können die Methode spreadsheets.batchUpdate verwenden, um RefreshDataSourceRequest aufzurufen. Geben Sie dann mit dem Objekt DataSourceObjectReferences eine oder mehrere Objektreferenzen an, die aktualisiert werden sollen.

Sie können Datenquellenobjekte in einer einzigen batchUpdate-Anfrage erstellen und aktualisieren.

Looker-Datenquelle verwalten

In dieser Anleitung erfahren Sie, wie Sie eine Looker-Datenquelle hinzufügen, aktualisieren oder löschen, eine Pivot-Tabelle daraus erstellen und aktualisieren.

Für Ihre Anwendung, die Daten aus verbundenen Google Tabellen in Looker anfordert, wird die vorhandene Verknüpfung Ihres Google-Kontos mit Looker wiederverwendet.

Looker-Datenquelle hinzufügen

Wenn Sie eine Datenquelle hinzufügen möchten, geben Sie mit der Methode spreadsheets.batchUpdate einen AddDataSourceRequest an. Der Anfragetext sollte ein dataSource-Feld vom Typ DataSource-Objekt angeben.

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

Ersetzen Sie INSTANCE_URI, MODEL und EXPLORE durch einen gültigen URI der Looker-Instanz, den Namen des Modells und den Namen des Explores.

Nach dem Erstellen einer Datenquelle wird eine zugehörige DATA_SOURCE-Tabelle erstellt, die eine Vorschau der Struktur der ausgewählten explorativen Datenanalyse enthält, einschließlich Ansichten, Dimensionen, Messwerten und Feldbeschreibungen.

AddDataSourceResponse enthält die folgenden Felder:

  • dataSource: Das erstellte DataSource-Objekt. dataSourceId ist eine eindeutige ID auf Tabellenebene. Es wird ausgefüllt und referenziert, um jedes DataSource-Objekt aus der Datenquelle zu erstellen.

  • dataExecutionStatus: Der Status einer Ausführung, bei der BigQuery-Daten in das Vorschaublatt importiert werden. Weitere Informationen finden Sie im Abschnitt Status der Datenausführung.

Looker-Datenquelle aktualisieren oder löschen

Verwenden Sie die Methode spreadsheets.batchUpdate und geben Sie eine UpdateDataSourceRequest- oder DeleteDataSourceRequest-Anfrage an.

Looker-Datenquellenobjekte verwalten

Nachdem der Tabelle eine Datenquelle hinzugefügt wurde, kann daraus ein Datenquellenobjekt erstellt werden. Bei Looker-Datenquellen können Sie nur ein DataSourcePivot-Tabellenobjekt erstellen.

Aus Looker-Datenquellen können keine DataSource-Formeln, ‑Extrakte und ‑Diagramme erstellt werden.

Looker-Datenquellenobjekt aktualisieren

Sie können ein Datenquellenobjekt aktualisieren, um die neuesten Daten aus Looker abzurufen. Dabei werden die aktuellen Datenquellenspezifikationen und Objektkonfigurationen verwendet. Sie können die Methode spreadsheets.batchUpdate verwenden, um RefreshDataSourceRequest aufzurufen. Geben Sie dann mit dem Objekt DataSourceObjectReferences eine oder mehrere Objektreferenzen an, die aktualisiert werden sollen.

Sie können Datenquellenobjekte in einer einzigen batchUpdate-Anfrage erstellen und aktualisieren.

Status der Datenausführung

Wenn Sie Datenquellen erstellen oder Datenquellenobjekte aktualisieren, wird eine Hintergrundausführung erstellt, um die Daten aus BigQuery oder Looker abzurufen und eine Antwort mit der DataExecutionStatus zurückzugeben. Wenn die Ausführung erfolgreich gestartet wird, befindet sich die DataExecutionState in der Regel im Status RUNNING.

Da der Vorgang asynchron ist, sollte Ihre Anwendung ein Polling-Modell implementieren, um regelmäßig den Status der Datenquellenobjekte abzurufen. Verwenden Sie die Methode spreadsheets.get, bis der Status entweder SUCCEEDED oder FAILED zurückgibt. In den meisten Fällen ist die Ausführung schnell abgeschlossen. Das hängt jedoch von der Komplexität Ihrer Datenquelle ab. Normalerweise dauert die Ausführung nicht länger als 10 Minuten.