Подключенные листы

Connected Sheets позволяет анализировать петабайты данных непосредственно в Google Sheets. Вы можете подключить свои таблицы к хранилищу данных BigQuery и выполнять анализ, используя знакомые инструменты Таблиц, такие как сводные таблицы, диаграммы и формулы.

В этом руководстве используется общедоступный набор данных Shakespeare , чтобы показать, как использовать подключенные листы. Набор данных содержит следующую информацию:

Поле Тип Описание
слово STRING Одно уникальное слово (где пробелы являются разделителем), извлеченное из корпуса.
количество слов INTEGER Сколько раз это слово встречается в этом корпусе.
корпус STRING Произведение, из которого было извлечено это слово.
корпус_дата INTEGER Год публикации этого корпуса.

Если ваше приложение запрашивает какие-либо данные подключенных таблиц, оно должно предоставить токен OAuth 2.0, который предоставляет область bigquery.readonly в дополнение к другим областям, необходимым для обычного запроса API Google Таблиц. Дополнительную информацию см. в разделе Выбор областей действия API Google Таблиц .

Управление источником данных

Источник данных указывает внешнее расположение, где находятся данные. Затем источник данных подключается к электронной таблице.

Добавьте источник данных BigQuery

Чтобы добавить источник данных, укажите AddDataSourceRequest используя метод spreadsheets.batchUpdate . В теле запроса должно быть указано поле dataSource типа объекта DataSource .

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

Замените PROJECT_ID действительным идентификатором проекта Google Cloud.

После создания источника данных создается связанный лист DATA_SOURCE , обеспечивающий предварительный просмотр до 500 строк. Предварительный просмотр доступен не сразу. Выполнение запускается асинхронно для импорта данных BigQuery.

AddDataSourceResponse содержит следующие поля:

  • dataSource : созданный объект DataSource . dataSourceId — это уникальный идентификатор в области электронной таблицы. Он заполняется и используется для создания каждого объекта DataSource из источника данных.

  • dataExecutionStatus : статус выполнения, которое импортирует данные BigQuery в лист предварительного просмотра. Дополнительную информацию см. в разделе Статус выполнения данных .

Обновить или удалить источник данных

Используйте метод spreadsheets.batchUpdate и предоставьте запрос UpdateDataSourceRequest или DeleteDataSourceRequest соответственно.

Управление объектами источника данных

После добавления источника данных в электронную таблицу на его основе можно создать объект источника данных. Объект источника данных — это обычный инструмент Таблиц, такой как сводные таблицы, диаграммы и формулы, который интегрирован с Подключенными таблицами для анализа данных.

Существует четыре типа объектов:

  • Таблица DataSource
  • Сводная таблица DataSource
  • Диаграмма DataSource
  • Формула DataSource

Добавьте таблицу источника данных

Объект таблицы, известный в редакторе Таблиц как «экстракт», импортирует статический дамп данных из источника данных в Таблицы. Как и в случае со сводной таблицей, таблица указывается и привязывается к левой верхней ячейке.

В следующем примере кода показано, как использовать метод spreadsheets.batchUpdate и UpdateCellsRequest для создания таблицы источника данных, содержащей до 1000 строк из двух столбцов ( word и word_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 уникальным идентификатором в области электронной таблицы, который идентифицирует источник данных.

После создания таблицы источника данных данные не доступны сразу. В редакторе Таблиц он отображается в виде предварительного просмотра. Вам необходимо обновить таблицу источника данных, чтобы получить данные BigQuery. Вы можете указать RefreshDataSourceRequest в том же batchUpdate . Обратите внимание, что все объекты источников данных работают одинаково. Дополнительные сведения см. в разделе Обновление объекта источника данных .

После завершения обновления и получения данных 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 уникальным идентификатором в области электронной таблицы, который идентифицирует источник данных.

После получения данных BigQuery сводная таблица источника данных заполняется, как показано:

Сводная таблица источника данных, показывающая данные из общедоступного набора данных Шекспира.

Добавьте диаграмму источника данных

В следующем примере кода показано, как использовать метод spreadsheets.batchUpdate и AddChartRequest для создания диаграммы источника данных с chartType COLUMN, показывающей общее количество слов по корпусу.

"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 уникальным идентификатором в области электронной таблицы, который идентифицирует источник данных.

После получения данных BigQuery диаграмма источника данных отображается, как показано:

Диаграмма источника данных, показывающая данные из общедоступного набора данных Шекспира.

Добавьте формулу источника данных

В следующем примере кода показано, как использовать метод spreadsheets.batchUpdate и UpdateCellsRequest для создания формулы источника данных для вычисления среднего количества слов.

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

После получения данных BigQuery формула источника данных заполняется, как показано:

Формула источника данных, показывающая данные из общедоступного набора данных Шекспира.

Обновление объекта источника данных

Вы можете обновить объект источника данных, чтобы получить последние данные из BigQuery на основе текущих спецификаций источника данных и конфигураций объекта. Вы можете использовать метод spreadsheets.batchUpdate для вызова RefreshDataSourceRequest . Затем укажите одну или несколько ссылок на объекты для обновления с помощью объекта DataSourceObjectReferences .

Обратите внимание, что вы можете создавать и обновлять объекты источников данных в рамках одного запроса batchUpdate .

Статус выполнения данных

Когда вы создаете источники данных или обновляете объекты источников данных, создается фоновое выполнение для извлечения данных из BigQuery и возврата ответа, содержащего DataExecutionStatus . Если выполнение начинается успешно, DataExecutionState обычно находится в состоянии RUNNING .

Поскольку процесс является асинхронным, ваше приложение должно реализовать модель опроса для периодического получения статуса объектов источника данных. Используйте метод spreadsheets.get до тех пор, пока статус не вернет состояние SUCCEEDED или FAILED . В большинстве случаев выполнение завершается быстро, но это зависит от сложности источника данных. Обычно исполнение не превышает 10 минут.