Połączone arkusze

Połączone arkusze umożliwiają analizowanie petabajtów danych bezpośrednio w Arkuszach Google. Możesz połączyć arkusze z hurtownią danych BigQuery lub narzędziem Looker i przeprowadzić analizę za pomocą znanych narzędzi Arkuszy, takich jak tabele przestawne, wykresy i formuły.

Zarządzanie źródłem danych BigQuery

W tej sekcji używamy publicznego zbioru danych BigQuery Shakespeare, aby pokazać, jak korzystać z połączonych arkuszy. Zestaw danych zawiera te informacje:

Pole Typ Opis
słowo STRING Pojedyncze niepowtarzalne słowo (gdzie spacje są rozdzielnikami) wyodrębnione z korpusu.
word_count INTEGER Liczba wystąpień tego słowa w korpusie.
korpus STRING Praca, z której zostało wyodrębnione to słowo.
corpus_date INTEGER Rok, w którym zbiór został opublikowany.

Jeśli Twoja aplikacja żąda jakichkolwiek danych z połączonych arkuszy BigQuery, musi przekazać token OAuth 2.0, który przyznaje zakres bigquery.readonly, oprócz innych zakresów wymaganych do zwykłego żądania interfejsu API Arkuszy Google. Więcej informacji znajdziesz w artykule Wybieranie zakresów interfejsu Sheets API.

Źródło danych określa zewnętrzną lokalizację, w której znajdują się dane. Źródło danych jest następnie połączone z arkuszu kalkulacyjnym.

Dodawanie źródła danych BigQuery

Aby dodać źródło danych, podaj AddDataSourceRequest za pomocą metody spreadsheets.batchUpdate. W treści żądania należy podać pole dataSource typu obiekt DataSource.

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

Zastąp PROJECT_ID prawidłowym identyfikatorem projektu Google Cloud.

Po utworzeniu źródła danych tworzona jest powiązana z nim karta DATA_SOURCE, która zawiera podgląd maksymalnie 500 wierszy. Podgląd nie jest dostępny od razu. Wykonanie jest wywoływane asynchronicznie, aby zaimportować dane z BigQuery.

AddDataSourceResponse zawiera te pola:

  • dataSource: utworzony obiekt DataSource. dataSourceId to unikalny identyfikator ograniczony do arkusza kalkulacyjnego. Jest on wypełniany i odwołuje się do niego, aby utworzyć każdy obiekt DataSource ze źródła danych.

  • dataExecutionStatus: stan wykonania, który importuje dane BigQuery do arkusza podglądu. Więcej informacji znajdziesz w sekcji Stan wykonywania danych.

Aktualizowanie i usuwanie źródła danych BigQuery

Użyj metody spreadsheets.batchUpdate i prześlij odpowiednią prośbę UpdateDataSourceRequest lub DeleteDataSourceRequest.

Zarządzanie obiektami źródeł danych BigQuery

Po dodaniu źródła danych do arkusza kalkulacyjnego można utworzyć z niego obiekt źródła danych. Obiekt źródła danych to zwykłe narzędzie w Sheets, takie jak tabele przestawne, wykresy czy formuły, które jest zintegrowane z Połączonymi Arkuszami i umożliwia analizowanie danych.

Istnieją 4 typy obiektów:

  • DataSource tabela
  • DataSource pivotTable
  • DataSource – wykres
  • formuła DataSource

Dodawanie tabeli źródła danych BigQuery

Obiekt tabeli, nazywany w edytorze Arkuszy „wyodrębnieniem”, importuje do Arkuszy statyczny zrzut danych ze źródła danych. Podobnie jak w przypadku tabeli przestawnej, jest ona określona i zakotwiczona w komórce w lewym górnym rogu.

Poniższy przykładowy kod pokazuje, jak za pomocą metody spreadsheets.batchUpdate i elementu UpdateCellsRequest utworzyć tabelę źródła danych zawierającą do 1000 wierszy z 2 kolumnami (wordword_count).

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

Zastąp DATA_SOURCE_ID unikalnym identyfikatorem ograniczonym do arkusza kalkulacyjnego, który identyfikuje źródło danych.

Po utworzeniu tabeli źródła danych dane nie są dostępne od razu. W edytorze Arkuszy jest wyświetlany jako podgląd. Aby pobrać dane z BigQuery, musisz odświeżyć tabelę źródła danych. Możesz podać element RefreshDataSourceRequest w ramach tego samego elementu batchUpdate. Pamiętaj, że wszystkie obiekty źródeł danych działają podobnie. Więcej informacji znajdziesz w artykule Odświeżanie obiektu źródła danych.

Po zakończeniu odświeżania i pobierania danych z BigQuery tabela źródeł danych jest wypełniana w ten sposób:

Tabela źródła danych zawierająca dane ze zbioru danych publicznych Shakespeare

Dodawanie tabeli przestawnej źródła danych BigQuery

W przeciwieństwie do zwykłej tabeli przestawnej tabela przestawna źródła danych jest oparta na źródle danych i odwołuje się do danych według nazwy kolumny. Poniższy przykładowy kod pokazuje, jak za pomocą metody spreadsheets.batchUpdate i funkcji UpdateCellsRequest utworzyć tabelę przestawną z łączną liczbą słów według korpusów.

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

Zastąp DATA_SOURCE_ID unikalnym identyfikatorem ograniczonym do arkusza kalkulacyjnego, który identyfikuje źródło danych.

Po pobraniu danych z BigQuery tabela przestawna źródła danych jest wypełniana w ten sposób:

Tabela przestawna źródła danych zawierająca dane z publicznego zbioru danych Shakespeare.

Dodawanie wykresu źródła danych BigQuery

Poniższy przykładowy kod pokazuje, jak za pomocą metody spreadsheets.batchUpdate i elementu AddChartRequest utworzyć wykres źródła danych z polem chartType kolumny, który pokazuje łączną liczbę słów według korpusów.

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

Zastąp DATA_SOURCE_ID unikalnym identyfikatorem ograniczonym do arkusza kalkulacyjnego, który identyfikuje źródło danych.

Po pobraniu danych z BigQuery wykres źródła danych jest renderowany w ten sposób:

Wykres źródła danych przedstawiający dane z publicznego zbioru danych Shakespeare.

Dodawanie formuły źródła danych BigQuery

Poniższy przykładowy kod pokazuje, jak za pomocą metody spreadsheets.batchUpdate i funkcji UpdateCellsRequest utworzyć formułę źródła danych, która oblicza średnią liczbę słów.

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

Po pobraniu danych z BigQuery formuła źródła danych jest wypełniana w ten sposób:

Formuła źródła danych zawierająca dane ze zbioru danych publicznych Shakespeare

Odświeżanie obiektu źródła danych BigQuery

Możesz odświeżyć obiekt źródła danych, aby pobrać najnowsze dane z BigQuery na podstawie bieżących specyfikacji źródła danych i konfiguracji obiektów. Aby wywołać metodę RefreshDataSourceRequest, możesz użyć metody spreadsheets.batchUpdate. Następnie określ co najmniej 1 odniesienie obiektu do odświeżenia za pomocą obiektu DataSourceObjectReferences.

Pamiętaj, że w ramach jednego żądania batchUpdate możesz tworzyć i odświeżać obiekty źródeł danych.

Zarządzanie źródłem danych Looker

Z tego przewodnika dowiesz się, jak dodać źródło danych Looker, zaktualizować je lub usunąć, utworzyć na jego podstawie tabelę przestawną i ją odświeżyć.

Aplikacja prosząca o jakiekolwiek dane z połączonych arkuszy Lookera będzie używać istniejącego połączenia konta Google z Lookerem.

Dodawanie źródła danych Looker

Aby dodać źródło danych, podaj AddDataSourceRequest za pomocą metody spreadsheets.batchUpdate. W treści żądania należy podać pole dataSource typu obiekt DataSource.

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

Zastąp wartości INSTANCE_URI, MODEL i EXPLORE odpowiednio prawidłowym identyfikatorem URI instancji Looker, nazwą modelu i nazwą eksploracji.

Po utworzeniu źródła danych tworzona jest powiązana z nim karta DATA_SOURCE, która zawiera podgląd struktury wybranej eksploracji, w tym widoki, wymiary, miary i opisy pól.

AddDataSourceResponse zawiera te pola:

  • dataSource: utworzony obiekt DataSource. dataSourceId to unikalny identyfikator ograniczony do arkusza kalkulacyjnego. Jest on wypełniany i odwołuje się do niego, aby utworzyć każdy obiekt DataSource ze źródła danych.

  • dataExecutionStatus: stan wykonania, który importuje dane BigQuery do arkusza podglądu. Więcej informacji znajdziesz w sekcji Stan wykonywania danych.

Aktualizowanie i usuwanie źródła danych Looker

Użyj metody spreadsheets.batchUpdate i prześlij odpowiednią prośbę UpdateDataSourceRequest lub DeleteDataSourceRequest.

Zarządzanie obiektami źródeł danych Looker

Po dodaniu źródła danych do arkusza kalkulacyjnego można utworzyć z niego obiekt źródła danych. W przypadku źródeł danych Looker możesz z nich utworzyć tylko obiekt DataSourcepivotTable.

Nie można tworzyć DataSourceformuł, wyodrębnień ani wykresów na podstawie źródeł danych Looker.

Odświeżanie obiektu źródła danych Looker

Możesz odświeżyć obiekt źródła danych, aby pobrać najnowsze dane z Lookera na podstawie bieżących specyfikacji źródła danych i konfiguracji obiektów. Aby wywołać metodę RefreshDataSourceRequest, możesz użyć metody spreadsheets.batchUpdate. Następnie określ co najmniej 1 odniesienie obiektu do odświeżenia za pomocą obiektu DataSourceObjectReferences.

Pamiętaj, że w ramach jednego żądania batchUpdate możesz tworzyć i odświeżać obiekty źródeł danych.

Stan wykonania danych

Gdy tworzysz źródła danych lub odświeżasz obiekty źródeł danych, tworzy się wykonanie w tle, które pobiera dane z BigQuery lub Looker i zwraca odpowiedź zawierającą DataExecutionStatus. Jeśli wykonanie rozpocznie się pomyślnie, element DataExecutionStatebędzie zazwyczaj w stanie RUNNING.

Ponieważ proces jest asynchroniczny, aplikacja powinna zaimplementować model pollingu, aby okresowo pobierać stan obiektów źródeł danych. Użyj metody spreadsheets.get, aż stan zwróci wartość SUCCEEDED lub FAILED. W większości przypadków wykonanie trwa krótko, ale zależy to od złożoności źródła danych. Zwykle wykonanie nie trwa dłużej niż 10 minut.