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

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

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

Поле Тип Описание
слово НИТЬ Одно уникальное слово (где пробелы являются разделителем), извлеченное из корпуса.
количество слов ЦЕЛОЕ ЧИСЛО Сколько раз это слово встречается в этом корпусе
корпус НИТЬ Произведение, из которого было извлечено это слово
корпус_дата ЦЕЛОЕ ЧИСЛО Год публикации данного корпуса

Работа с источником данных

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

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

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

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

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

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

  • dataSource : вновь созданный источник данных. DataSourceId также заполняется и будет использоваться для создания каждого объекта DataSource из источника данных.

  • dataExecutionStatus : как упоминалось выше, это статус выполнения, которое импортирует данные BigQuery в лист предварительного просмотра. Дополнительные сведения см. в DataExecutionStatus .

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

Используйте метод пакетного обновления и предоставьте запрос UpdateDataSourceRequest или DeleteDataSourceRequest соответственно.

Работа с объектами источника данных

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

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

  • Таблица источника данных
  • Сводная таблица источника данных
  • Диаграмма источника данных
  • Формула источника данных

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

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

В этом примере мы используем метод patchUpdate и предоставляем запрос updateCells для создания таблицы источника данных из двух столбцов word и word_count , до 1000 строк.

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

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

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

снимок экрана таблицы источника данных, показывающий данные из набора данных Шекспира

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

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

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

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

снимок экрана сводной таблицы источника данных, показывающий данные из набора данных Шекспира

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

В этом примере создается диаграмма источника данных с типом 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":"<YOUR_DATA_SOURCE_ID>"
      }
   }
}

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

снимок экрана диаграммы источника данных, показывающей данные из набора данных Шекспира

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

В этом примере создается формула источника данных для вычисления среднего количества слов.

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

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

снимок экрана с формулой источника данных, показывающей данные из набора данных Шекспира

Обновление объекта DataSource

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

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

Статус DataExecutionStatus

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

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