Les feuilles connectées vous permettent d'analyser des pétaoctets de données directement dans Sheets. Vous pouvez connecter vos feuilles de calcul à un entrepôt de données BigQuery et effectuer l'analyse à l'aide des outils Sheets familiers tels que les tableaux croisés dynamiques, les graphiques et les formules.
Ce guide s'appuie sur l'ensemble de données public shakespeare pour montrer comment utiliser les feuilles connectées. Le jeu de données contient les informations suivantes:
Champ | Type | Description |
---|---|---|
mot | STRING | Mot unique (où l'espace est le délimiteur) extrait d'un corpus |
word_count | INTEGER | Nombre de fois où ce mot apparaît dans ce corpus |
corpus | STRING | L'œuvre dont ce mot est extrait |
corpus_date | INTEGER | Année de publication de ce corpus |
Utiliser une source de données
Ajouter une source de données BigQuery
Pour ajouter une source de données, fournissez une requête AddDataSourceRequest dans la méthode batchUpdate. Le corps de la requête doit spécifier un champ DataSource.
Remplacez <YOUR_PROJECT_ID>
ci-dessous par un ID de projet Google Cloud valide.
"addDataSource":{
"dataSource":{
"spec":{
"bigQuery":{
"projectId":"<YOUR_PROJECT_ID>",
"tableSpec":{
"tableProjectId":"bigquery-public-data",
"datasetId":"samples",
"tableId":"shakespeare"
}
}
}
}
}
Une fois la source de données créée, une feuille DATA_SOURCE
associée est créée pour fournir un aperçu de 500 lignes au maximum. L'aperçu n'est pas disponible immédiatement. Une exécution est déclenchée de manière asynchrone pour importer des données BigQuery.
AddDataSourceResponse contient les champs suivants:
dataSource: la source de données nouvellement créée. Le champ dataSourceId est également renseigné et référencé afin de créer chaque objet DataSource à partir de la source de données.
dataExecutionStatus: comme indiqué ci-dessus, il s'agit de l'état d'une exécution qui importe des données BigQuery dans la feuille d'aperçu. Consultez le DataExecutionStatus pour plus d'informations.
Mettre à jour ou supprimer une source de données
Utilisez la méthode batchUpdate et fournissez une requête UpdateDataSourceRequest ou DeleteDataSourceRequest en conséquence.
Utiliser des objets DataSource
Une fois qu'une source de données est ajoutée à la feuille de calcul, un objet de source de données peut être créé à partir de la source de données. Un objet de source de données est un outil Sheets standard tel que des tableaux croisés dynamiques, des graphiques et des formules, mais intégré aux feuilles connectées, pour alimenter vos analyses.
Il existe quatre types d'objets:
- Table DataSource
- Tableau croisé dynamique d'une source de données
- Graphique de source de données
- Formule de la source de données
Ajouter une table DataSource
Également appelé "Extraire" dans l'éditeur Sheets, l'objet importe un fichier de vidage statique des données de la source de données dans Sheets. Comme pour un tableau croisé dynamique, le tableau est spécifié et ancré dans la cellule supérieure gauche.
Dans cet exemple, nous utilisons la méthode batchUpdate et fournissons une requête updateCells pour créer une table de source de données composée de deux colonnes word
et word_count
, avec un maximum de 1 000 lignes.
"updateCells":{
"rows":{
"values":[
{
"dataSourceTable":{
"dataSourceId":"<YOUR_DATA_SOURCE_ID>",
"columns":[
{
"name":"word"
},
{
"name":"word_count"
}
],
"rowLimit":{
"value":1000
},
"columnSelectionType":"SELECTED"
}
}
]
},
"fields":"dataSourceTable"
}
Une fois la table de source de données créée, les données ne sont pas disponibles immédiatement. Dans l'éditeur Sheets, elle s'affiche en tant qu'aperçu. Vous devez actualiser la table de la source de données pour extraire les données BigQuery. Vous pouvez spécifier une RefreshDataSourceRequest dans le même batchUpdate
. Pour en savoir plus, consultez la section Actualiser un objet DataSource ci-dessous. Notez que tous les objets de source de données fonctionnent de la même manière.
Une fois l'actualisation terminée (les données BigQuery sont extraites), la table de source de données est renseignée comme suit:
Ajouter un tableau croisé dynamique de source de données
Contrairement à un tableau croisé dynamique classique, un tableau croisé dynamique de source de données repose sur une source de données et référence les données par nom de colonne. Cet exemple crée un tableau croisé dynamique indiquant le nombre total de mots par corpus.
"updateCells":{
"rows":{
"values":[
{
"pivotTable":{
"dataSourceId":"<YOUR_DATA_SOURCE_ID>",
"rows":{
"dataSourceColumnReference":{
"name":"corpus"
},
"sortOrder":"ASCENDING"
},
"values":{
"summarizeFunction":"SUM",
"dataSourceColumnReference":{
"name":"word_count"
}
}
}
}
]
},
"fields":"pivotTable"
}
Une fois les données BigQuery extraites, le tableau croisé dynamique de la source de données est renseigné comme suit:
Ajouter un graphique DataSource
Cet exemple crée un graphique de source de données de type COLONNE, indiquant le nombre total de mots par corpus.
"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>"
}
}
}
Une fois les données BigQuery récupérées, le graphique de la source de données s'affiche comme suit:
Ajouter une formule de source de données
Cet exemple crée une formule de source de données pour calculer le nombre moyen de mots.
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
Une fois les données BigQuery récupérées, la formule de la source de données est renseignée comme suit:
Actualiser un objet DataSource
Vous pouvez actualiser un objet de source de données pour extraire les dernières données de BigQuery en fonction des spécifications actuelles de la source de données et des configurations d'objet. Vous pouvez utiliser la méthode batchUpdate, fournir une requête RefreshDataSourceRequest et spécifier un ou plusieurs objets à actualiser via DataSourceObjectReferences.
Notez que vous pouvez à la fois créer des objets de source de données et les actualiser dans une seule requête batchUpdate
.
DataExecutionStatus
Lorsque vous créez des sources de données ou actualisez des objets de source de données, une exécution est créée en arrière-plan pour extraire les données de BigQuery et renvoyer une réponse contenant l'état de l'exécution. Si l'exécution démarre correctement, son état est généralement RUNNING
.
Le processus étant asynchrone, votre application doit implémenter un modèle d'interrogation pour récupérer périodiquement l'état des objets de source de données à l'aide de spreadsheets.get, jusqu'à ce que l'état stocke l'état SUCCEEDED
ou FAILED
. Dans la plupart des cas, l'exécution se termine rapidement, mais cela dépend de la complexité de la spécification de votre source de données. Dans tous les cas, l'exécution ne devrait pas prendre plus de 10 minutes.