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

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

PivotGroup

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

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, если заголовки в этой группе pivot должны повторяться. Это действительно только для группировок строк и игнорируется столбцами.

По умолчанию мы минимизируем повторение заголовков, не показывая заголовки более высокого уровня, где они одинаковы. Например, хотя третья строка ниже соответствует "Q1 Mar", "Q1" не отображается, поскольку он избыточно по сравнению с предыдущими строками. Установка repeatHeadings в значение 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 )

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

PivotGroupValueMetadata

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

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 )

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

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

PivotGroupRule

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

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

ManualRuleGroup

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

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-часовую систему, например, 7:45 PM. Обозначение 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 Сгруппируйте даты по годам и кварталам, например, 2008 Q4.
YEAR_MONTH_DAY Сгруппируйте даты по году, месяцу и дню, например, 2008-11-22.

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

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

PivotFilterSpec

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

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 )

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

Значение Pivot

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

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 )

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

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 Значения располагаются вертикально (в виде строк).