Pivot Tables

PivotTable

数据透视表。

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:E150 将具有“列”的过滤条件 C,而键 1 代表列 D

此字段已弃用,取而代之 filterSpecs

filterSpecs[]

object (PivotFilterSpec)

汇总数据透视表数据之前应用于源列的过滤器。

两者都有 criteriafilterSpecs 填充在响应中。如果更新请求中同时指定了这两个字段,则此字段的优先级更高。

values[]

object (PivotValue)

要包含在数据透视表中的值的列表。

valueLayout

enum (PivotValueLayout)

值是应水平列出(作为列)还是垂直(作为行)。

dataExecutionStatus

object (DataExecutionStatus)

仅限输出。数据源数据透视表的数据执行状态。

联合字段 source_data。数据透视表数据的来源。 source_data 只能是下列其中一项:
source

object (GridRange)

数据透视表从中读取数据的范围。

dataSourceId

string

数据透视表从中读取数据的数据源的 ID。

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”。此字段仅对行分组有效,会被列忽略。

默认情况下,我们不会在相同标题下显示更高级别的标题,从而尽可能减少重复标题。例如,即使下面的第三行对应于“3 月 1 日”,“Q1”由于与前面的行重复,因此未显示。将 repeatHeadings 设置为 true 会导致“Q1”重复用于“2 月”和“Mar”

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

string

用于可自定义行/列组的标签。例如,在以下数据透视表中,行标签为 Region (可将其重命名为 State),列标签为 Product (可以重命名 Item)。2017 年 12 月之前创建的数据透视表没有标题标签。如果您想要向现有数据透视表添加标题标签,请删除现有数据透视表,然后使用相同的参数创建新的数据透视表。

+--------------+---------+-------+
| 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:E15sourceColumnOffset / 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)

确定从哪个分桶中选择值进行排序。

例如,在包含一个行组和两个列组,则行组最多可列出两个值。第一个值对应于第一个列组中的某个值,第二个值对应于第二个列组中的一个值。如果未列出任何值,则表示应根据“总计”对该行进行排序对列组进行过滤如果列出了单个值,这对应于使用“总计”该存储分区的数据。

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。要应用于 PivotGrouprule 只能是下列其中一项:
manualRule

object (ManualRule)

ManualRule

histogramRule

object (HistogramRule)

HistogramRule

dateTimeRule

object (DateTimeRule)

DateTimeRule

ManualRule

允许您手动将源数据列中的值整理到具有所选名称的存储分区中。例如,一个按州/省汇总人口的数据透视表:

+-------+-------------------+
| 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

允许您将源数据列中的数值整理到常量大小的存储分区中。来自以下来源的所有值: HistogramRule.start 更改为 HistogramRule.end 按尺寸分组 HistogramRule.interval。此外,下面的所有值 HistogramRule.start 置于一个组中,且以上所有值 HistogramRule.end 放在另一个文件夹中仅限 HistogramRule.interval 是必填字段,但如果 HistogramRule.startHistogramRule.end 两者均提供 HistogramRule.start 必须小于 HistogramRule.end。例如,一个按年龄显示平均购买金额的数据透视表,其中包含超过 50 行:

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

通过应用包含 HistogramRule.start (共 25 个), HistogramRule.interval 以及 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

项放入大小不变的桶中的最大值。超出上限的值将汇总到一个分桶中。此字段是可选字段。

DateTimeRule

允许您根据日期或时间值的选定部分将源数据列中的日期时间值整理到存储分区中。例如,假设某个数据透视表按日期显示销售交易:

+----------+--------------+
| 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)

要应用的日期时间分组的类型。

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。系统会根据电子表格的语言区域翻译“AM/PM”(上午/下午)标识。
DAY_OF_WEEK 按星期几(例如星期日)对日期进行分组。系统会根据电子表格的语言区域翻译一周中的哪几天。
DAY_OF_YEAR 按一年中的某一天(从 1 到 366)对日期进行分组。请注意,2 月 29 日之后的日期在闰年和平年时分桶不同。
DAY_OF_MONTH 按月份(从 1 到 31)对日期进行分组。
DAY_MONTH 按日期和月份对日期进行分组,例如 22-11 月。系统会根据电子表格的语言区域翻译对应的月份。
MONTH 按月分组日期,例如 11 月。系统会根据电子表格语言区域翻译相应月份。
QUARTER 按季度对日期进行分组,例如:Q1(代表 1 月至 3 月)。
YEAR 按年份对日期进行分组,例如 2008。
YEAR_MONTH 按年份和月份对日期进行分组,例如 2008-11。系统会根据电子表格的语言区域翻译对应的月份。
YEAR_QUARTER 按年份和季度对日期进行分组,例如 2008 年第 4 季度。
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)

为显示值必须设为 true 的条件。( visibleValues 不会覆盖此 - 即使其中列出了某个值,但如果它不符合该条件,它仍会处于隐藏状态。)

系统会相对于数据透视表工作表对引用范围(采用 A1 表示法)的条件值进行评估。引用是绝对处理的,因此不会在数据透视表中填充内容。例如,条件值 =A1 在“数据透视表 1”上会被视为 'Pivot Table 1'!$A$1

可以通过列标题名称引用数据透视表的源数据。例如,如果源数据中有名为“Revenue”的列和“费用”并且对“Revenue”应用了条件包含类型的列 NUMBER_GREATER 和值 =Cost,则仅搜索&gt;“费用”资源。

visibleByDefault

boolean

是否默认显示值。如果为 true, visibleValues 均会被忽略,所有符合 condition (如果已指定)。如果为 false, visibleValuescondition

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)

对数据源列的引用。

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 则仅支持以下值: SUMCUSTOM。如果 sourceColumnOffset 设置,则 CUSTOM 不受支持。

name

string

值的名称。

calculatedDisplayType

enum (PivotValueCalculatedDisplayType)

如果指定,则表示数据透视值应当作为使用另一个数据透视值的计算结果显示。例如,如果 computeDisplayType 指定为 PERCENT_OF_GRAND_TOTAL,则所有数据透视值都显示为占总计的百分比。在表格编辑器中,这称为“显示为”。

联合字段 value。要用于数据透视表中的值的数据。必须设置一个值。 value 只能是下列其中一项:
sourceColumnOffset

integer

从其中读取数据的源范围的列偏移量。

例如,如果来源是 C10:E15sourceColumnOffset / 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 值垂直布局(如行)。