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 минут.