Pivot Tables

Сводная таблица

Сводная таблица.

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.
}
Поля
rows[]

object ( PivotGroup )

Группировка каждой строки в сводной таблице.

columns[]

object ( PivotGroup )

Каждая группировка столбцов в сводной таблице.

criteria
(deprecated)

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

Необязательное сопоставление фильтров со смещением исходного столбца.

Фильтры применяются перед агрегированием данных в сводную таблицу. Ключ карты — это смещение столбца исходного диапазона, который вы хотите отфильтровать, а значение — это критерий для этого столбца.

Например, если источником был C10:E15 , ключ 0 будет иметь фильтр для столбца C , тогда как ключ 1 — для столбца D

Это поле устарело в пользу filterSpecs .

filterSpecs[]

object ( PivotFilterSpec )

Фильтры применяются к исходным столбцам перед агрегированием данных для сводной таблицы.

И criteria , и filterSpecs заполняются в ответах. Если в запросе на обновление указаны оба поля, это поле имеет приоритет.

values[]

object ( PivotValue )

Список значений для включения в сводную таблицу.

valueLayout

enum ( PivotValueLayout )

Должны ли значения располагаться горизонтально (в виде столбцов) или вертикально (в виде строк).

dataExecutionStatus

object ( DataExecutionStatus )

Только вывод. Статус выполнения данных для сводных таблиц источника данных.

Поле объединения source_data . Источник данных сводной таблицы. source_data может быть только одним из следующих:
source

object ( GridRange )

Диапазон, из которого сводная таблица считывает данные.

dataSourceId

string

Идентификатор источника данных, из которого сводная таблица считывает данные.

Сводная группа

Одна группировка (строка или столбец) в сводной таблице.

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.
}
Поля
showTotals

boolean

Значение true, если сводная таблица должна включать итоговые значения для этой группировки.

valueMetadata[]

object ( PivotGroupValueMetadata )

Метаданные о значениях в группировке.

sortOrder

enum ( SortOrder )

В каком порядке должны быть отсортированы значения в этой группе.

valueBucket

object ( PivotGroupSortValueBucket )

Сегмент противоположной сводной группы для сортировки. Если не указано, сортировка осуществляется в алфавитном порядке по значениям этой группы.

repeatHeadings

boolean

True, если заголовки в этой сводной группе должны повторяться. Это справедливо только для групп строк и игнорируется столбцами.

По умолчанию мы сводим к минимуму повторение заголовков, не показывая заголовки более высокого уровня, где они совпадают. Например, несмотря на то, что третья строка ниже соответствует «1 кварталу марта», «1 квартал» не отображается, поскольку он дублирует предыдущие строки. Если для параметра restartHeadings установлено значение true, «Q1» будет повторяться для «Feb» и «Mar».

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

string

Метки, используемые для групп строк/столбцов, которые можно настроить. Например, в следующей сводной таблице метка строки — Region (которую можно переименовать в State ), а метка столбца — Product (которую можно переименовать в Item ). Сводные таблицы, созданные до декабря 2017 года, не имеют меток заголовков. Если вы хотите добавить метки заголовков к существующей сводной таблице, удалите существующую сводную таблицу, а затем создайте новую сводную таблицу с теми же параметрами.

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

object ( PivotGroupRule )

Групповое правило, применяемое к этой группе строк/столбцов.

groupLimit

object ( PivotGroupLimit )

Ограничение количества строк или столбцов, применяемое к этой сводной группе.

source поля Союза. Источник данных сводной группы. source может быть только одним из следующих:
sourceColumnOffset

integer

Смещение столбца исходного диапазона, на котором основана эта группировка.

Например, если источником был C10:E15 , sourceColumnOffset , равное 0 означает, что эта группа относится к столбцу C , тогда как смещение 1 будет относиться к столбцу D

dataSourceColumnReference

object ( DataSourceColumnReference )

Ссылка на столбец источника данных, на котором основана эта группировка.

PivotGroupValueМетаданные

Метаданные о значении в сводной группе.

JSON-представление
{
  "value": {
    object (ExtendedValue)
  },
  "collapsed": boolean
}
Поля
value

object ( ExtendedValue )

Расчетное значение, которому соответствуют метаданные. (Обратите внимание, что formulaValue недействителен, поскольку значения будут рассчитаны.)

collapsed

boolean

True, если данные, соответствующие значению, свернуты.

PivotGroupSortValueBucket

Информация о том, какие значения в сводной группе следует использовать для сортировки.

JSON-представление
{
  "valuesIndex": integer,
  "buckets": [
    {
      object (ExtendedValue)
    }
  ]
}
Поля
valuesIndex

integer

Смещение в списке PivotTable.values , по которому следует сортировать значения в этой группе.

buckets[]

object ( ExtendedValue )

Определяет сегмент, из которого выбираются значения для сортировки.

Например, в сводной таблице с одной группой строк и двумя группами столбцов группа строк может содержать до двух значений. Первое значение соответствует значению в первой группе столбцов, а второе значение соответствует значению во второй группе столбцов. Если значения не указаны, это означает, что строку следует отсортировать в соответствии с «Общим итогом» по группам столбцов. Если указано одно значение, это будет соответствовать использованию «Итога» этого сегмента.

Правило сводной группы

Необязательный параметр PivotGroup , который определяет сегменты для значений в столбце исходных данных, а не разбивает каждое отдельное значение. Для каждого столбца исходных данных можно добавить только одну PivotGroup с правилом группировки, однако в любой столбец можно добавить как PivotGroup с правилом, так и PivotGroup без него.

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.
}
Поля
rule поля объединения. Правило, применяемое к PivotGroup . rule может быть только одним из следующих:
manualRule

object ( ManualRule )

ManualRule .

histogramRule

object ( HistogramRule )

HistogramRule .

dateTimeRule

object ( DateTimeRule )

DateTimeRule .

РуководствоПравило

Позволяет вручную упорядочить значения в столбце исходных данных по сегментам с выбранными вами именами. Например, сводная таблица, в которой агрегируется население по штатам:

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

можно превратить в сводную таблицу, в которой агрегируется население по часовым поясам, предоставив список групп (например, groupName = 'Central', items = ['AL', 'AR', 'IA', ...]) для правило группы вручную. Обратите внимание, что аналогичного эффекта можно добиться, добавив столбец часового пояса в исходные данные и откорректировав сводную таблицу.

+-----------+-------------------+
| Time Zone | SUM of Population |
+-----------+-------------------+
| Central   |             106.3 |
| Eastern   |             151.9 |
| Mountain  |              17.4 |
...
+-----------+-------------------+
JSON-представление
{
  "groups": [
    {
      object (ManualRuleGroup)
    }
  ]
}
Поля
groups[]

object ( ManualRuleGroup )

Список имен групп и соответствующие элементы из исходных данных, которые сопоставлены с каждым именем группы.

РуководствоRuleGroup

Имя группы и список элементов из исходных данных, которые следует поместить в группу с этим именем.

JSON-представление
{
  "groupName": {
    object (ExtendedValue)
  },
  "items": [
    {
      object (ExtendedValue)
    }
  ]
}
Поля
groupName

object ( ExtendedValue )

Имя группы, которое должно быть строкой. Каждая группа в данном ManualRule должна иметь уникальное имя группы.

items[]

object ( ExtendedValue )

Элементы исходных данных, которые следует поместить в эту группу. Каждый элемент может быть строкой, числом или логическим значением. Элементы могут появляться не более чем в одной группе в пределах данного ManualRule . Элементы, которые не отображаются ни в одной группе, появятся сами по себе.

ГистограммаПравило

Позволяет организовать числовые значения в столбце исходных данных в сегменты постоянного размера. Все значения от HistogramRule.start до HistogramRule.end помещаются в группы размером HistogramRule.interval . Кроме того, все значения ниже HistogramRule.start помещаются в одну группу, а все значения выше HistogramRule.end — в другую. Требуется только HistogramRule.interval , однако, если указаны оба HistogramRule.start и HistogramRule.end , HistogramRule.start должно быть меньше, чем HistogramRule.end . Например, сводная таблица, показывающая среднюю сумму покупок по возрасту, имеющая более 50 строк:

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

можно превратить в сводную таблицу, похожую на приведенную ниже, применив правило группы гистограмм со значением HistogramRule.start , равным 25, HistogramRule.interval , равным 20, и HistogramRule.end , равным 65.

+-------------+-------------------+
| Grouped Age | AVERAGE of Amount |
+-------------+-------------------+
| < 25        |            $19.34 |
| 25-45       |            $31.43 |
| 45-65       |            $35.87 |
| > 65        |            $27.55 |
+-------------+-------------------+
| Grand Total |            $29.12 |
+-------------+-------------------+
JSON-представление
{
  "interval": number,
  "start": number,
  "end": number
}
Поля
interval

number

Размер создаваемых сегментов. Должно быть позитивным.

start

number

Минимальное значение, при котором элементы помещаются в корзины постоянного размера. Значения ниже начального объединяются в один блок. Это поле является необязательным.

end

number

Максимальное значение, при котором элементы помещаются в корзины постоянного размера. Значения выше конечного объединяются в одну корзину. Это поле является необязательным.

ДатаВремяПравило

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

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

Применение правила группы даты и времени с DateTimeRuleType , равным YEAR_MONTH, приводит к созданию следующей сводной таблицы.

+--------------+--------------+
| Grouped Date | SUM of Sales |
+--------------+--------------+
| 2017-Jan     |   $53,731.78 |
| 2017-Feb     |   $83,475.32 |
| 2017-Mar     |   $94,385.05 |
...
+--------------+--------------+
JSON-представление
{
  "type": enum (DateTimeRuleType)
}
Поля
type

enum ( DateTimeRuleType )

Тип применяемой группировки даты и времени.

ДатаТимеРулеТип

Доступные типы правил группировки даты и времени. В этой документации предполагается, что языковой стандарт электронной таблицы — «en-US», хотя при фактическом отображении даты и времени для некоторых типов правил используется языковой стандарт электронной таблицы.

Перечисления
DATE_TIME_RULE_TYPE_UNSPECIFIED Тип по умолчанию, не использовать.
SECOND Группировать даты по секундам, от 0 до 59.
MINUTE Группировать даты по минутам, от 0 до 59.
HOUR Группируйте даты по часам в 24-часовой системе, от 0 до 23.
HOUR_MINUTE Группируйте даты по часам и минутам в 24-часовом формате, например 19:45.
HOUR_MINUTE_AMPM Группируйте даты по часам и минутам в 12-часовой системе, например 19:45. Обозначение AM/PM переводится на основе языкового стандарта электронной таблицы.
DAY_OF_WEEK Групповые даты по дням недели, например воскресенье. Дни недели будут переведены на основе языкового стандарта электронной таблицы.
DAY_OF_YEAR Группируйте даты по дням года, от 1 до 366. Обратите внимание, что даты после 29 февраля в високосные годы попадают в разные сегменты, чем в невисокосные.
DAY_OF_MONTH Группировка дат по дням месяца, от 1 до 31.
DAY_MONTH Группируйте даты по дню и месяцу, например 22 ноября. Месяц переводится на основе языкового стандарта электронной таблицы.
MONTH Сгруппируйте даты по месяцам, например ноябрь. Месяц переводится на основе языкового стандарта электронной таблицы.
QUARTER Группируйте даты по кварталам, например Q1 (который представляет собой январь-март).
YEAR Сгруппируйте даты по годам, например 2008.
YEAR_MONTH Сгруппируйте даты по году и месяцу, например 2008-ноябрь. Месяц переводится на основе языкового стандарта электронной таблицы.
YEAR_QUARTER Группируйте даты по годам и кварталам, например, 4 квартал 2008 г.
YEAR_MONTH_DAY Сгруппируйте даты по году, месяцу и дню, например 22 ноября 2008 г.

PivotGroupLimit

Ограничение количества строк или столбцов в сводной группе.

JSON-представление
{
  "countLimit": integer,
  "applyOrder": integer
}
Поля
countLimit

integer

Ограничение количества.

applyOrder

integer

Порядок, в котором ограничение группы применяется к сводной таблице.

Ограничения сводной группы применяются от меньшего к большему порядковому номеру. Номера заказов нормализуются до последовательных целых чисел от 0.

Для запроса на запись, чтобы полностью настроить порядок применения, во всех ограничениях сводной группы в этом поле должен быть установлен уникальный номер. В противном случае порядок определяется индексом в списке PivotTable.rows , а затем в списке PivotTable.columns .

PivotFilterCriteria

Критерии отображения/скрытия строк в сводной таблице.

JSON-представление
{
  "visibleValues": [
    string
  ],
  "condition": {
    object (BooleanCondition)
  },
  "visibleByDefault": boolean
}
Поля
visibleValues[]

string

Ценности, которые следует включить. Значения, не перечисленные здесь, исключаются.

condition

object ( BooleanCondition )

Условие, которое должно быть истинным для отображения значений. ( visibleValues ​​не отменяет это — даже если там указано значение, оно все равно скрыто, если не соответствует условию.)

Значения условий, которые относятся к диапазонам в нотации A1, оцениваются относительно листа сводной таблицы. Ссылки обрабатываются абсолютно, поэтому не заполняются сводной таблицей. Например, значение условия =A1 в «Сводной таблице 1» рассматривается как 'Pivot Table 1'!$A$1 .

На исходные данные сводной таблицы можно ссылаться по имени заголовка столбца. Например, если в исходных данных есть столбцы с именами «Доход» и «Затраты», а к столбцу «Доход» применено условие с типом NUMBER_GREATER и значением =Cost , то будут включены только столбцы, в которых «Доход» > «Затраты».

visibleByDefault

boolean

Видны ли значения по умолчанию. Если это правда, visibleValues игнорируются, отображаются все значения, соответствующие condition (если оно указано). Если значение false, отображаются значения, которые находятся в visibleValues и соответствуют condition .

Спецификация PivotFilter

Критерии фильтра сводной таблицы, связанные со смещением определенного исходного столбца.

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.
}
Поля
filterCriteria

object ( PivotFilterCriteria )

Критерии для столбца.

source поля Союза. Исходный столбец, к которому применяется этот фильтр. source может быть только одним из следующих:
columnOffsetIndex

integer

Смещение столбца исходного диапазона, отсчитываемое от нуля.

dataSourceColumnReference

object ( DataSourceColumnReference )

Ссылка на столбец источника данных.

PivotValue

Определение того, как следует рассчитывать значение в сводной таблице.

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.
}
Поля
summarizeFunction

enum ( PivotValueSummarizeFunction )

Функция для суммирования значения. Если задана formula , поддерживаются только значения SUM и CUSTOM . Если sourceColumnOffset установлен, CUSTOM не поддерживается.

name

string

Имя, которое будет использоваться для значения.

calculatedDisplayType

enum ( PivotValueCalculatedDisplayType )

Если указано, указывает, что значения поворота должны отображаться как результат расчета с другим значением поворота. Например, если вычисляемыйDisplayType указан как PERCENT_OF_GRAND_TOTAL, все сводные значения отображаются в процентах от общего итога. В редакторе таблиц в разделе значений сводной таблицы это называется «Показать как».

value поля объединения. Данные, которые будут использоваться для значений в сводной таблице. Должно быть установлено ровно одно значение. value может быть только одним из следующих:
sourceColumnOffset

integer

Смещение столбца исходного диапазона, из которого считывается это значение.

Например, если источником был C10:E15 , sourceColumnOffset , равное 0 означает, что это значение относится к столбцу C , тогда как смещение 1 будет относиться к столбцу D

formula

string

Пользовательская формула для расчета значения. Формула должна начинаться с символа = .

dataSourceColumnReference

object ( DataSourceColumnReference )

Ссылка на столбец источника данных, из которого считывается это значение.

PivotValueSummarizeFunction

Функция для суммирования сводного значения.

Перечисления
PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED По умолчанию не использовать.
SUM Соответствует функции SUM .
COUNTA Соответствует функции COUNTA .
COUNT Соответствует функции COUNT .
COUNTUNIQUE Соответствует функции COUNTUNIQUE .
AVERAGE Соответствует функции AVERAGE .
MAX Соответствует функции MAX .
MIN Соответствует функции MIN .
MEDIAN Соответствует функции MEDIAN .
PRODUCT Соответствует функции PRODUCT .
STDEV Соответствует функции STDEV .
STDEVP Соответствует функции STDEVP .
VAR Соответствует функции VAR .
VARP Соответствует функции VARP .
CUSTOM Указывает, что формулу следует использовать как есть. Действует только в том случае, если была установлена PivotValue.formula .
NONE Указывает, что значение уже суммировано, а функция суммирования явно не указана. Используется для сводных таблиц источников данных Looker, где значения уже суммированы.

PivotValueCalculatedDisplayType

Возможные способы расчета значений сводки для отображения.

Перечисления
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED Значение по умолчанию, не использовать.
PERCENT_OF_ROW_TOTAL Показывает значения сводки в процентах от общих значений строки.
PERCENT_OF_COLUMN_TOTAL Показывает сводные значения в процентах от общих значений столбца.
PERCENT_OF_GRAND_TOTAL Показывает основные значения в процентах от общих итоговых значений.

PivotValueLayout

Расположение сводных значений.

Перечисления
HORIZONTAL Значения располагаются горизонтально (в виде столбцов).
VERTICAL Значения располагаются вертикально (в виде строк).