Class DataSourceTable

DonnéesSourceTable

Accédez à une table de source de données existante et modifiez-la. Pour créer un tableau de source de données sur une nouvelle feuille, utilisez Spreadsheet.insertSheetWithDataSourceTable(spec).

N'utilisez cette classe qu'avec les sources de données BigQuery.

Cet exemple montre comment créer une table de source de données.

SpreadsheetApp.enableBigQueryExecution();
const spreadsheet = SpreadsheetApp.getActive();
const spec = SpreadsheetApp.newDataSourceSpec()
                 .asBigQuery()
                 .setProjectId('big_query_project')
                 .setRawQuery('select @FIELD from table limit @LIMIT')
                 .setParameterFromCell('FIELD', 'Sheet1!A1')
                 .setParameterFromCell('LIMIT', 'namedRangeCell')
                 .build();
// Starts data execution asynchronously.
const dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec);
const dataSourceTable = dataSheet.getDataSourceTables()[0];
// waitForCompletion() blocks script execution until data execution completes.
dataSourceTable.waitForCompletion(60);
// Check status after execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);

Cet exemple montre comment modifier une source de données.

SpreadsheetApp.enableBigQueryExecution();
const dataSheet = SpreadsheetApp.getActive().getSheetByName('Data Sheet 1');
const dataSourceTable = dataSheet.getDataSourceTables()[0];
const dataSource = dataSourceTable.getDataSource();
const newSpec = dataSource.getSpec()
                    .copy()
                    .asBigQuery()
                    .setRawQuery('select name from table limit 2')
                    .removeAllParameters()
                    .build();
// Updates data source specification and starts data execution asynchronously.
dataSource.updateSpec(newSpec);
// Check status during execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);
// waitForCompletion() blocks script execution until data execution completes.
dataSourceTable.waitForCompletion(60);
// Check status after execution.
Logger.log(
    'Data execution state: %s.',
    dataSourceTable.getStatus().getExecutionState(),
);

Méthodes

MéthodeType renvoyéBrève description
addColumns(columnNames)DataSourceTableAjoute des colonnes à la table de la source de données.
addFilter(columnName, filterCriteria)DataSourceTableAjoute un filtre appliqué à la table de source de données.
addSortSpec(columnName, ascending)DataSourceTableAjoute une spécification de tri à une colonne de la table de source de données.
addSortSpec(columnName, sortOrder)DataSourceTableAjoute une spécification de tri à une colonne de la table de source de données.
cancelDataRefresh()DataSourceTableAnnule l'actualisation des données associée à cet objet si elle est en cours.
forceRefreshData()DataSourceTableActualise les données de cet objet, quel que soit l'état actuel.
getColumns()DataSourceTableColumn[]Récupère toutes les colonnes de source de données ajoutées à la table de source de données.
getDataSource()DataSourceObtient la source de données à laquelle l'objet est associé.
getFilters()DataSourceTableFilter[]Renvoie tous les filtres appliqués à la table de source de données.
getRange()RangeObtient les Range que couvre cette table de source de données.
getRowLimit()Integer|nullRenvoie la limite de lignes pour la table de source de données.
getSortSpecs()SortSpec[]Récupère toutes les spécifications de tri dans la table de la source de données.
getStatus()DataExecutionStatusObtient l'état d'exécution des données de l'objet.
isSyncingAllColumns()BooleanIndique si la table de source de données synchronise toutes les colonnes de la source de données associée.
refreshData()DataSourceTableActualise les données de l'objet.
removeAllColumns()DataSourceTableSupprime toutes les colonnes du tableau de la source de données.
removeAllSortSpecs()DataSourceTableSupprime toutes les spécifications de tri dans le tableau de la source de données.
setRowLimit(rowLimit)DataSourceTableMet à jour la limite de lignes pour le tableau de la source de données.
syncAllColumns()DataSourceTableSynchronisez toutes les colonnes actuelles et futures de la source de données associée avec la table de la source de données.
waitForCompletion(timeoutInSeconds)DataExecutionStatusAttend la fin de l'exécution actuelle, avec un délai d'expiration après le nombre de secondes indiqué.

Documentation détaillée

addColumns(columnNames)

Ajoute des colonnes à la table de la source de données.

Paramètres

NomTypeDescription
columnNamesString[]Liste des noms des colonnes à ajouter.

Renvois

DataSourceTable : table de source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addFilter(columnName, filterCriteria)

Ajoute un filtre appliqué à la table de source de données.

Paramètres

NomTypeDescription
columnNameStringNom de la colonne à laquelle appliquer ce filtre.
filterCriteriaFilterCriteriaCritères de filtrage à appliquer.

Renvois

DataSourceTable : table de source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, ascending)

Ajoute une spécification de tri à une colonne de la table de source de données.

Paramètres

NomTypeDescription
columnNameStringNom de la colonne à trier.
ascendingBooleanSi la valeur est true, triez la colonne par ordre croissant. Si la valeur est false, triez la colonne par ordre décroissant.

Renvois

DataSourceTable : feuille de la source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, sortOrder)

Ajoute une spécification de tri à une colonne de la table de source de données.

Paramètres

NomTypeDescription
columnNameStringNom de la colonne à trier.
sortOrderSortOrderOrdre de tri.

Renvois

DataSourceTable : feuille de la source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

cancelDataRefresh()

Annule l'actualisation des données associée à cet objet si elle est en cours.

Cet exemple montre comment annuler l'actualisation d'une formule.

const spreadsheet = SpreadsheetApp.getActive();
const formula = spreadsheet.getDataSourceFormulas()[0];
// Cancel the ongoing refresh on the formula.
formula.cancelDataRefresh();

Génère une exception si le type de source de données n'est pas activé. Utilisez les méthodes SpreadsheetApp#enable...Execution() pour activer l'exécution des données pour un type de source de données spécifique.

Renvois

DataSourceTable : objet de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forceRefreshData()

Actualise les données de cet objet, quel que soit l'état actuel. Pour en savoir plus, consultez refreshData(). Si vous souhaitez annuler l'actualisation en cours de cet objet, consultez cancelDataRefresh().

Génère une exception si le type de source de données n'est pas activé. Utilisez les méthodes SpreadsheetApp#enable...Execution() pour activer l'exécution des données pour un type de source de données spécifique.

Renvois

DataSourceTable : objet de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumns()

Récupère toutes les colonnes de source de données ajoutées à la table de source de données.

Renvois

DataSourceTableColumn[] : liste des colonnes de la table de source de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSource()

Obtient la source de données à laquelle l'objet est associé.

Renvois

DataSource : source de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilters()

Renvoie tous les filtres appliqués à la table de source de données.

Renvois

DataSourceTableFilter[] : tableau de tous les filtres appliqués à la table de source de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Obtient les Range que couvre cette table de source de données.

Renvois

Range : plage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRowLimit()

Renvoie la limite de lignes pour la table de source de données.

Renvois

Integer|null : limite de lignes pour le tableau de la source de données, ou null si aucune limite n'est définie et que le tableau utilise la limite maximale par défaut comme dans l'interface utilisateur Google Sheets.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getSortSpecs()

Récupère toutes les spécifications de tri dans la table de la source de données.

Renvois

SortSpec[] : liste des spécifications de tri.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getStatus()

Obtient l'état d'exécution des données de l'objet.

Renvois

DataExecutionStatus : état d'exécution des données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isSyncingAllColumns()

Indique si la table de source de données synchronise toutes les colonnes de la source de données associée.

Renvois

Boolean : True si la table de la source de données synchronise toutes les colonnes de la source de données associée, ou false dans le cas contraire.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

refreshData()

Actualise les données de l'objet.

Génère une exception si l'état actuel est error. Utilisez DataSource#updateSpec() pour mettre à jour la spécification. Cette méthode est préférable à forceRefreshData() pour éviter les modifications inattendues de la source de données.

Génère une exception si le type de source de données n'est pas activé. Utilisez les méthodes SpreadsheetApp#enable...Execution() pour activer l'exécution des données pour un type de source de données spécifique.

Renvois

DataSourceTable : objet de données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllColumns()

Supprime toutes les colonnes du tableau de la source de données.

Renvois

DataSourceTable : table de source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllSortSpecs()

Supprime toutes les spécifications de tri dans le tableau de la source de données.

Renvois

DataSourceTable : feuille de la source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRowLimit(rowLimit)

Met à jour la limite de lignes pour le tableau de la source de données. Si la limite de lignes fournie est null, la table de source de données est mise à jour pour utiliser la limite de lignes maximale par défaut, comme dans l'interface utilisateur de Google Sheets.

Paramètres

NomTypeDescription
rowLimitIntegerNouvelle limite de lignes pour le tableau de données. Si la valeur est null, la table est mise à jour pour utiliser la limite de lignes par défaut.

Renvois

DataSourceTable : table de source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

syncAllColumns()

Synchronisez toutes les colonnes actuelles et futures de la source de données associée avec la table de la source de données.

Renvois

DataSourceTable : table de source de données, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

waitForCompletion(timeoutInSeconds)

Attend la fin de l'exécution actuelle, avec un délai d'expiration après le nombre de secondes indiqué. Génère une exception si l'exécution n'est pas terminée au moment du délai d'expiration, mais n'annule pas l'exécution des données.

Paramètres

NomTypeDescription
timeoutInSecondsIntegerTemps d'attente pour l'exécution des données, en secondes. La valeur maximale est de 300 secondes.

Renvois

DataExecutionStatus : état d'exécution des données.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets