Pivot Tables

Tableau croisé dynamique

Un tableau croisé dynamique

Représentation JSON
{
  "rows": [
    {
      object (PivotGroup)
    }
  ],
  "columns": [
    {
      object (PivotGroup)
    }
  ],
  "criteria": {
    integer: {
      object (PivotFilterCriteria)
    },
    ...
  },
  "filterSpecs": [
    {
      object (PivotFilterSpec)
    }
  ],
  "values": [
    {
      object (PivotValue)
    }
  ],
  "valueLayout": enum (PivotValueLayout),
  "dataExecutionStatus": {
    object (DataExecutionStatus)
  },

  // Union field source_data can be only one of the following:
  "source": {
    object (GridRange)
  },
  "dataSourceId": string
  // End of list of possible types for union field source_data.
}
Champs
rows[]

object (PivotGroup)

Chaque regroupement de lignes du tableau croisé dynamique.

columns[]

object (PivotGroup)

Regroupement de colonnes dans le tableau croisé dynamique.

criteria
(deprecated)

map (key: integer, value: object ( PivotFilterCriteria))

Mappage facultatif de filtres par décalage de colonne source.

Les filtres sont appliqués avant l'agrégation des données dans le tableau croisé dynamique. La clé de la carte est le décalage de la colonne de la plage source que vous souhaitez filtrer, et sa valeur correspond aux critères de cette colonne.

Par exemple, si la source est C10:E15, la clé 0 contient le filtre de la colonne C, tandis que la clé 1 sert à la colonne D.

Ce champ a été abandonné et remplacé par filterSpecs.

filterSpecs[]

object (PivotFilterSpec)

Filtres appliqués aux colonnes sources avant d'agréger des données pour le tableau croisé dynamique.

Les champs criteria et filterSpecs sont tous les deux renseignés dans les réponses. Si les deux champs sont spécifiés dans une requête de mise à jour, ce champ est prioritaire.

values[]

object (PivotValue)

Liste de valeurs à inclure dans le tableau croisé dynamique.

valueLayout

enum (PivotValueLayout)

Indique si les valeurs doivent être affichées horizontalement (sous forme de colonnes) ou verticalement (sous forme de lignes).

dataExecutionStatus

object (DataExecutionStatus)

Uniquement en sortie. État d'exécution des tableaux croisés dynamiques de source de données.

Champ d'union source_data. Source des données du tableau croisé dynamique. source_data ne peut être que l'un des éléments suivants:
source

object (GridRange)

Plage depuis laquelle le tableau croisé dynamique lit les données.

dataSourceId

string

ID de la source de données à partir de laquelle le tableau croisé dynamique lit les données.

Groupe croisé dynamique

Regroupement unique (ligne ou colonne) dans un tableau croisé dynamique.

Représentation JSON
{
  "showTotals": boolean,
  "valueMetadata": [
    {
      object (PivotGroupValueMetadata)
    }
  ],
  "sortOrder": enum (SortOrder),
  "valueBucket": {
    object (PivotGroupSortValueBucket)
  },
  "repeatHeadings": boolean,
  "label": string,
  "groupRule": {
    object (PivotGroupRule)
  },
  "groupLimit": {
    object (PivotGroupLimit)
  },

  // Union field source can be only one of the following:
  "sourceColumnOffset": integer,
  "dataSourceColumnReference": {
    object (DataSourceColumnReference)
  }
  // End of list of possible types for union field source.
}
Champs
showTotals

boolean

Vrai si le tableau croisé dynamique doit inclure les totaux de ce regroupement.

valueMetadata[]

object (PivotGroupValueMetadata)

Métadonnées sur les valeurs du regroupement.

sortOrder

enum (SortOrder)

Ordre dans lequel les valeurs de ce groupe doivent être triées.

valueBucket

object (PivotGroupSortValueBucket)

Bucket du groupe de tableaux inverses à utiliser pour le tri. Si l'option n'est pas spécifiée, les valeurs sont triées par ordre alphabétique.

repeatHeadings

boolean

Défini sur "true" si les en-têtes de ce groupe de tableaux croisés dynamiques doivent être répétés. Cette option n'est valide que pour les regroupements de lignes et est ignorée par les colonnes.

Par défaut, nous limitons la répétition des titres en n'affichant pas les titres de niveau supérieur qui sont identiques. Par exemple, même si la troisième ligne ci-dessous correspond à "Q1 mars", "Q1" n'apparaît pas, car il est redondant avec les lignes précédentes. Si vous attribuez la valeur "true" à la section "Repeathead", celle-ci sera répétée pour "février" et "mars".

+--------------+
| Q1     | Jan |
|        | Feb |
|        | Mar |
+--------+-----+
| Q1 Total     |
+--------------+
label

string

Libellés à utiliser pour les groupes de lignes/colonnes personnalisables. Par exemple, dans le tableau croisé dynamique suivant, le libellé de la ligne est Region (qui peut être renommé State) et le libellé de la colonne Product (qui peut être renommé Item). Les tableaux croisés dynamiques créés avant décembre 2017 ne comportent pas de libellé d'en-tête. Si vous souhaitez ajouter des libellés d'en-tête à un tableau croisé dynamique existant, supprimez le tableau, puis créez-en un autre avec les mêmes paramètres.

+--------------+---------+-------+
| SUM of Units | Product |       |
| Region       | Pen     | Paper |
+--------------+---------+-------+
| New York     |     345 |    98 |
| Oregon       |     234 |   123 |
| Tennessee    |     531 |   415 |
+--------------+---------+-------+
| Grand Total  |    1110 |   636 |
+--------------+---------+-------+
groupRule

object (PivotGroupRule)

Règle de groupe à appliquer à ce groupe de lignes/colonnes.

groupLimit

object (PivotGroupLimit)

Nombre maximal de lignes ou de colonnes à appliquer à ce groupe de tableaux croisés dynamiques.

Champ d'union source. Source de données du groupe de tableaux croisés dynamiques. source ne peut être que l'un des éléments suivants:
sourceColumnOffset

integer

Décalage dans la colonne de la plage source sur laquelle ce regroupement est basé.

Par exemple, si la source est C10:E15, sourceColumnOffset d'0 signifie que ce groupe fait référence à la colonne C, tandis que le décalage 1 fait référence à la colonne D.

dataSourceColumnReference

object (DataSourceColumnReference)

Référence à la colonne de la source de données sur laquelle ce regroupement est basé.

PivotGroupValueMetadata

Métadonnées sur une valeur dans un regroupement de tableaux croisés dynamiques.

Représentation JSON
{
  "value": {
    object (ExtendedValue)
  },
  "collapsed": boolean
}
Champs
value

object (ExtendedValue)

Valeur calculée à laquelle les métadonnées correspondent. Notez que formulaValue n'est pas valide, car les valeurs sont calculées.

collapsed

boolean

Vrai si les données correspondant à la valeur sont réduites.

PivotGroupTrierValueBucket

Informations sur les valeurs d'un groupe de tableaux croisés dynamiques à utiliser pour le tri.

Représentation JSON
{
  "valuesIndex": integer,
  "buckets": [
    {
      object (ExtendedValue)
    }
  ]
}
Champs
valuesIndex

integer

Décalage dans la liste PivotTable.values en fonction duquel les valeurs de ce regroupement doivent être triées.

buckets[]

object (ExtendedValue)

Détermine le bucket à partir duquel les valeurs sont sélectionnées pour le tri.

Par exemple, si vous disposez d'un tableau croisé dynamique comportant un groupe de lignes et deux groupes de colonnes, celui-ci peut contenir jusqu'à deux valeurs. La première valeur correspond à une valeur du premier groupe de colonnes, et la seconde à une valeur du deuxième groupe de colonnes. Si aucune valeur n'est listée, cela signifie que la ligne doit être triée en fonction du "Total général" sur les groupes de colonnes. Si une seule valeur est indiquée, cela correspond à l'utilisation du "total" de ce bucket.

PivotGroupRule

Un paramètre facultatif dans une classe PivotGroup qui définit des buckets pour les valeurs dans la colonne de données source au lieu de décomposer chaque valeur individuellement. Un seul PivotGroup avec une règle de groupe peut être ajouté pour chaque colonne des données sources. Cependant, sur une colonne donnée, vous pouvez ajouter à la fois un PivotGroup ayant une règle et un PivotGroup qui ne l'est pas.

Représentation JSON
{

  // Union field rule can be only one of the following:
  "manualRule": {
    object (ManualRule)
  },
  "histogramRule": {
    object (HistogramRule)
  },
  "dateTimeRule": {
    object (DateTimeRule)
  }
  // End of list of possible types for union field rule.
}
Champs
Champ d'union rule. Règle à appliquer à PivotGroup. rule ne peut être que l'un des éléments suivants:
manualRule

object (ManualRule)

Une ManualRule.

histogramRule

object (HistogramRule)

Une HistogramRule.

dateTimeRule

object (DateTimeRule)

Une DateTimeRule.

Règle manuelle

Vous permet d'organiser manuellement les valeurs d'une colonne de données source dans des buckets portant les noms de votre choix. Par exemple, un tableau croisé dynamique agrégant la population par État:

+-------+-------------------+
| State | SUM of Population |
+-------+-------------------+
| AK    |               0.7 |
| AL    |               4.8 |
| AR    |               2.9 |
...
+-------+-------------------+

peut être transformé en tableau croisé dynamique agrégant la population par fuseau horaire en fournissant une liste de groupes (par exemple, nom du groupe = "Central", éléments = ['AL', 'AR', 'IA', ...]) à une règle de groupe manuelle. Notez que vous pouvez obtenir un effet similaire en ajoutant une colonne de fuseau horaire aux données sources et en ajustant le tableau croisé dynamique.

+-----------+-------------------+
| Time Zone | SUM of Population |
+-----------+-------------------+
| Central   |             106.3 |
| Eastern   |             151.9 |
| Mountain  |              17.4 |
...
+-----------+-------------------+
Représentation JSON
{
  "groups": [
    {
      object (ManualRuleGroup)
    }
  ]
}
Champs
groups[]

object (ManualRuleGroup)

Liste des noms de groupe et des éléments correspondants issus des données sources correspondant à chaque nom de groupe.

Règle manuelle

Un nom de groupe et une liste d'éléments issus des données sources à placer dans le groupe avec ce nom.

Représentation JSON
{
  "groupName": {
    object (ExtendedValue)
  },
  "items": [
    {
      object (ExtendedValue)
    }
  ]
}
Champs
groupName

object (ExtendedValue)

Nom du groupe, qui doit être une chaîne. Chaque groupe d'un ManualRule donné doit avoir un nom de groupe unique.

items[]

object (ExtendedValue)

Éléments des données sources à placer dans ce groupe. Chaque élément peut être une chaîne, un nombre ou une valeur booléenne. Les éléments peuvent apparaître dans un maximum d'un groupe au sein d'une propriété ManualRule donnée. Les éléments qui n'apparaissent dans aucun groupe s'affichent seuls.

Histogramme

Vous permet d'organiser les valeurs numériques d'une colonne de données source dans des buckets de taille constante. Toutes les valeurs comprises entre HistogramRule.start et HistogramRule.end sont placées dans des groupes de taille HistogramRule.interval. En outre, toutes les valeurs inférieures à HistogramRule.start sont placées dans un groupe, et toutes les valeurs supérieures à HistogramRule.end sont placées dans un autre. Seul HistogramRule.interval est obligatoire. Toutefois, si HistogramRule.start et HistogramRule.end sont tous deux fournis, HistogramRule.start doit être inférieur à HistogramRule.end. Par exemple, un tableau croisé dynamique affiche le montant moyen des achats par âge sur plus de 50 lignes:

+-----+-------------------+
| Age | AVERAGE of Amount |
+-----+-------------------+
| 16  |            $27.13 |
| 17  |             $5.24 |
| 18  |            $20.15 |
...
+-----+-------------------+

pourrait être transformé en tableau croisé dynamique ressemblant à celui présenté ci-dessous en appliquant une règle de groupe d'histogrammes avec un HistogramRule.start de 25, un HistogramRule.interval de 20 et un HistogramRule.end de 65.

+-------------+-------------------+
| Grouped Age | AVERAGE of Amount |
+-------------+-------------------+
| < 25        |            $19.34 |
| 25-45       |            $31.43 |
| 45-65       |            $35.87 |
| > 65        |            $27.55 |
+-------------+-------------------+
| Grand Total |            $29.12 |
+-------------+-------------------+
Représentation JSON
{
  "interval": number,
  "start": number,
  "end": number
}
Champs
interval

number

Taille des buckets créés. Doit être positive.

start

number

Valeur minimale à laquelle les éléments sont placés dans des buckets de taille constante. Les valeurs ci-dessous sont regroupées dans un seul bucket. Ce champ est facultatif.

end

number

Valeur maximale à laquelle les éléments sont placés dans des buckets de taille constante. Les valeurs supérieures sont regroupées dans un seul bucket. Ce champ est facultatif.

Date/Heure de la règle

Vous permet d'organiser les valeurs de date et d'heure d'une colonne de données source dans des buckets en fonction des parties sélectionnées de ces valeurs. Prenons l'exemple d'un tableau croisé dynamique affichant les transactions de vente par date:

+----------+--------------+
| Date     | SUM of Sales |
+----------+--------------+
| 1/1/2017 |      $621.14 |
| 2/3/2017 |      $708.84 |
| 5/8/2017 |      $326.84 |
...
+----------+--------------+

Si vous appliquez une règle de groupe date/heure avec un paramètre DateTimeRuleType de YEAR_MONTH, le tableau croisé dynamique suivant s'affiche.

+--------------+--------------+
| Grouped Date | SUM of Sales |
+--------------+--------------+
| 2017-Jan     |   $53,731.78 |
| 2017-Feb     |   $83,475.32 |
| 2017-Mar     |   $94,385.05 |
...
+--------------+--------------+
Représentation JSON
{
  "type": enum (DateTimeRuleType)
}
Champs
type

enum (DateTimeRuleType)

Type de regroupement par date/heure à appliquer.

Type DateTimeRuleType

Types de règles de regroupement par date/heure disponibles. Cette documentation suppose que les paramètres régionaux de la feuille de calcul sont "en-US", mais le rendu réel des dates et des heures utilise les paramètres régionaux de la feuille de calcul pour certains types de règles.

Enums
DATE_TIME_RULE_TYPE_UNSPECIFIED Ne pas utiliser le type par défaut.
SECOND Regroupez les dates par seconde (0 à 59).
MINUTE Regroupez les dates par minute, entre 0 et 59.
HOUR Regroupez les dates par heure sur une période de 0 à 23 heures.
HOUR_MINUTE Regroupez les dates par heure et par minute dans un système ouvert 24 heures (par exemple, 19:45).
HOUR_MINUTE_AMPM Regroupez les dates par heure et par minute dans un système de 12 heures, par exemple 19h45. La désignation AM/PM est traduite en fonction des paramètres régionaux de la feuille de calcul.
DAY_OF_WEEK Regroupez les dates par jour de la semaine (par exemple, dimanche). Les jours de la semaine seront traduits en fonction des paramètres régionaux de la feuille de calcul.
DAY_OF_YEAR Regrouper les dates par jour d'année, de 1 à 366 Notez que les dates après le 29 février sont classées dans des tranches différentes pour les années bissextiles et pour les années non bissextiles.
DAY_OF_MONTH Regroupez les dates par jour de chaque mois, entre 1 et 31.
DAY_MONTH Regroupez les dates par jour et par mois, par exemple 22-nov. Le mois est traduit en fonction des paramètres régionaux de la feuille de calcul.
MONTH Regroupez les dates par mois (novembre, par exemple). Le mois est traduit en fonction des paramètres régionaux de la feuille de calcul.
QUARTER Regroupez les dates par trimestre, par exemple Q1 (correspondant à janvier-mars).
YEAR Regroupez les dates par année, par exemple 2008.
YEAR_MONTH Regroupez les dates par année et par mois (par exemple, 2008-novembre). Le mois est traduit en fonction des paramètres régionaux de la feuille de calcul.
YEAR_QUARTER Regroupez les dates par année et par trimestre, par exemple T4 2008.
YEAR_MONTH_DAY Regroupez les dates par année, mois et jour, par exemple 2008-11-22.

PivotGroupLimit

Limite du nombre de lignes ou de colonnes dans le tableau croisé dynamique.

Représentation JSON
{
  "countLimit": integer,
  "applyOrder": integer
}
Champs
countLimit

integer

Limite du nombre de vues.

applyOrder

integer

Ordre dans lequel la limite de groupe est appliquée au tableau croisé dynamique.

Les limites des groupes de tableaux croisés dynamiques sont appliquées par ordre croissant. Les numéros de commande sont normalisés en nombres entiers consécutifs à partir de 0.

Pour une requête d'écriture, ce champ doit être défini avec un nombre unique pour toutes les limites de regroupement d'éléments de tableaux croisés dynamiques. Sinon, l'ordre est déterminé par l'index dans la liste PivotTable.rows, puis dans la liste PivotTable.columns.

PivotFilterCriteria

Critères pour afficher/masquer les lignes dans un tableau croisé dynamique.

Représentation JSON
{
  "visibleValues": [
    string
  ],
  "condition": {
    object (BooleanCondition)
  },
  "visibleByDefault": boolean
}
Champs
visibleValues[]

string

Valeurs à inclure. Les valeurs qui ne figurent pas dans cette liste sont exclues.

condition

object (BooleanCondition)

Une condition qui doit être vraie pour que les valeurs soient affichées. (visibleValues ne l'ignore pas, même si une valeur est répertoriée ici, elle est masquée si elle ne remplit pas la condition.)

Les valeurs de condition qui font référence à des plages dans la notation A1 sont évaluées par rapport à la feuille du tableau croisé dynamique. Les références sont traitées de façon absolue et ne sont donc pas remplies dans le tableau croisé dynamique. Par exemple, une valeur de condition =A1 dans le tableau croisé dynamique 1 est traitée comme 'Pivot Table 1'!$A$1.

Les données sources du tableau croisé dynamique peuvent être référencées par le nom d'en-tête de colonne. Par exemple, si les données sources contiennent des colonnes "Revenus" et "Coût" et qu'une condition est appliquée à la colonne "Revenus" avec le type NUMBER_GREATER et la valeur =Cost, seules les colonnes où le revenu > Coût est indiqué sont incluses.

visibleByDefault

boolean

Indique si les valeurs sont visibles par défaut. Si la valeur est "true", les valeurs visibleValues sont ignorées, et toutes les valeurs répondant à condition (si elles sont spécifiées) sont affichées. Si la valeur est définie sur "false", les valeurs qui se trouvent à la fois dans visibleValues et atteignent condition.

PivotFilterSpec

Critères de filtre des tableaux croisés dynamiques associés à un décalage de colonne source spécifique.

Représentation JSON
{
  "filterCriteria": {
    object (PivotFilterCriteria)
  },

  // Union field source can be only one of the following:
  "columnOffsetIndex": integer,
  "dataSourceColumnReference": {
    object (DataSourceColumnReference)
  }
  // End of list of possible types for union field source.
}
Champs
filterCriteria

object (PivotFilterCriteria)

Critères de la colonne.

Champ d'union source. Colonne source à laquelle ce filtre s'applique. source ne peut être que l'un des éléments suivants:
columnOffsetIndex

integer

Décalage de la colonne base zéro de la plage source.

dataSourceColumnReference

object (DataSourceColumnReference)

Référence à la colonne de la source de données.

PivotValue

Définition du calcul d'une valeur dans un tableau croisé dynamique.

Représentation JSON
{
  "summarizeFunction": enum (PivotValueSummarizeFunction),
  "name": string,
  "calculatedDisplayType": enum (PivotValueCalculatedDisplayType),

  // Union field value can be only one of the following:
  "sourceColumnOffset": integer,
  "formula": string,
  "dataSourceColumnReference": {
    object (DataSourceColumnReference)
  }
  // End of list of possible types for union field value.
}
Champs
summarizeFunction

enum (PivotValueSummarizeFunction)

Fonction résumant la valeur. Si formula est défini, les seules valeurs acceptées sont SUM et CUSTOM. Si sourceColumnOffset est défini, CUSTOM n'est pas pris en charge.

name

string

Nom à utiliser pour la valeur.

calculatedDisplayType

enum (PivotValueCalculatedDisplayType)

Si elle est spécifiée, indique que les valeurs de tableau croisé dynamique doivent être affichées à la suite d'un calcul avec une autre valeur de tableau croisé dynamique. Par exemple, si la valeur de "ComputeDisplayType" est spécifiée sous la forme "PERCENT_OF_GRAND_TOTAL", toutes les valeurs croisées sont affichées sous forme de pourcentage du total général. Dans l'éditeur Sheets, ce terme s'appelle "Afficher la date au format suivant" dans la section "Valeur" d'un tableau croisé dynamique.

Champ d'union value. Données à utiliser pour les valeurs du tableau croisé dynamique. Une seule valeur doit être définie. value ne peut être que l'un des éléments suivants:
sourceColumnOffset

integer

Décalage dans la colonne de la plage source à partir de laquelle cette valeur est lue.

Par exemple, si la source est C10:E15, sourceColumnOffset d'0 signifie que cette valeur fait référence à la colonne C, tandis que le décalage 1 fait référence à la colonne D.

formula

string

Formule personnalisée pour calculer la valeur. La formule doit commencer par un caractère =.

dataSourceColumnReference

object (DataSourceColumnReference)

Référence à la colonne de la source de données à partir de laquelle cette valeur est lue.

Fonction PivotValueSummarize

Fonction résumant une valeur de tableau croisé dynamique.

Enums
PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED Par défaut, ne pas utiliser.
SUM Correspond à la fonction SUM.
COUNTA Correspond à la fonction COUNTA.
COUNT Correspond à la fonction COUNT.
COUNTUNIQUE Correspond à la fonction COUNTUNIQUE.
AVERAGE Correspond à la fonction AVERAGE.
MAX Correspond à la fonction MAX.
MIN Correspond à la fonction MIN.
MEDIAN Correspond à la fonction MEDIAN.
PRODUCT Correspond à la fonction PRODUCT.
STDEV Correspond à la fonction STDEV.
STDEVP Correspond à la fonction STDEVP.
VAR Correspond à la fonction VAR.
VARP Correspond à la fonction VARP.
CUSTOM Indique que la formule doit être utilisée telle quelle. N'est valide que si PivotValue.formula a été défini.

PivotValueCalculatedDisplayType

Méthodes possibles pour calculer les valeurs de tableaux croisés dynamiques

Enums
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED Valeur par défaut, ne pas utiliser.
PERCENT_OF_ROW_TOTAL Affiche les valeurs de pivot sous forme de pourcentage du total des valeurs de la ligne.
PERCENT_OF_COLUMN_TOTAL Affiche les valeurs de tableaux croisés dynamiques sous forme de pourcentage du total des valeurs de la colonne.
PERCENT_OF_GRAND_TOTAL Affiche les valeurs croisées sous la forme d'un pourcentage du total total.

PivotValueLayout

Mise en page des valeurs croisées.

Enums
HORIZONTAL Les valeurs sont disposées horizontalement (sous forme de colonnes).
VERTICAL Les valeurs sont disposées verticalement (sous forme de lignes).