数据透视表
数据透视表。
JSON 表示法 |
---|
{ "rows": [ { object ( |
字段 | |
---|---|
rows[]
|
数据透视表中的每一行分组。 |
columns[]
|
数据透视表中的每个列分组。 |
criteria
|
过滤条件(按源列偏移)映射。 先应用过滤器,然后再将数据汇总到数据透视表中。映射的键是您要过滤的来源范围的列偏移量,值是该列的条件。
例如,如果来源为
此字段已弃用,取而代之的是 |
filterSpecs[]
|
在汇总数据透视表数据之前,应用于源列的过滤条件。
系统会在响应中填充 |
values[]
|
要包含在数据透视表中的值的列表。 |
valueLayout
|
值应是水平列出(作为列)还是垂直列出(作为行)。 |
dataExecutionStatus
|
仅供输出。数据源数据透视表的数据执行状态。 |
联合字段 source_data 。数据透视表数据的来源。
source_data 只能是下列其中一项:
|
|
source
|
数据透视表从中读取数据的范围。 |
dataSourceId
|
数据透视表从中读取数据的数据源 ID。 |
数据透视表元素组
数据透视表中的单个分组(行或列)。
JSON 表示法 |
---|
{ "showTotals": boolean, "valueMetadata": [ { object ( |
字段 | |
---|---|
showTotals
|
如果数据透视表应包含此分组的总计值,则为 true。 |
valueMetadata[]
|
关于分组中的值的元数据。 |
sortOrder
|
此组中的值应进行排序。 |
valueBucket
|
要排序的相反轴组的存储分区。如果未指定,则按照此组的值按字母顺序排序。 |
repeatHeadings
|
如果此数据透视表元素组的标题应重复,则为 true。此类型仅对行分组有效,会被列忽略。 默认情况下,我们通过不显示级别相同的标题来最大限度地减少重复标题。例如,即使下面的第三行对应于“Q1 Mar”,但“Q1”未显示,因为它与之前的行是多余的。将 repeatHeading 设置为 true 会导致在“2 月”和“3 月”重复“Q1”。
|
label
|
可用于自定义行/列组的标签。例如,在以下数据透视表中,行标签为
|
groupRule
|
要应用于此行/列组的组规则。 |
groupLimit
|
要应用于此数据透视表元素组的行或列的数量限制。 |
联合字段 source 。数据透视表元素组的数据源。source 只能是下列其中一项:
|
|
sourceColumnOffset
|
此分组所依据的来源范围的列偏移量。
例如,如果来源为 |
dataSourceColumnReference
|
对此分组所依据的数据源列的引用。 |
PivotGroupValueMetadata
数据透视分组中的值的相关元数据。
JSON 表示法 |
---|
{
"value": {
object (
|
字段 | |
---|---|
value
|
元数据对应的计算值。(请注意, |
collapsed
|
如果与值对应的数据处于收起状态,则返回 true。 |
PivotGroupSortValueBucket
有关数据透视组中哪些值应用于排序的信息。
JSON 表示法 |
---|
{
"valuesIndex": integer,
"buckets": [
{
object (
|
字段 | |
---|---|
valuesIndex
|
|
buckets[]
|
确定要从哪个存储分区中选择值进行排序。 例如,在包含一个行组和两个列组的数据透视表中,行组最多可以列出两个值。第一个值对应于第一个列组中的值,第二个值对应于第二个列组中的值。如果没有列出任何值,则表示应根据列组的“合计”对行进行排序。如果列出了单个值,则等同于使用该存储分区的“Total”。 |
PivotGroupRule
PivotGroup
的一项可选设置,用于为源数据列中的值定义存储分区,而不是细分每个值。只能为源数据中的每个列添加一个具有组规则的 PivotGroup
,但对于任何给定列,您都可以添加具有规则的 PivotGroup
以及没有规则的 PivotGroup
。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 rule 。要应用于 PivotGroup 的规则。
rule 只能是下列其中一项:
|
|
manualRule
|
|
histogramRule
|
|
dateTimeRule
|
|
ManualRule
允许您手动将源数据列中的值整理为采用您选择的名称的存储分区。例如,一个按州汇总人口数据的数据透视表:
+-------+-------------------+
| State | SUM of Population |
+-------+-------------------+
| AK | 0.7 |
| AL | 4.8 |
| AR | 2.9 |
...
+-------+-------------------+
可通过为手动群组规则提供群组列表(例如,groupName = '中央',列表项 = ['AL','AR','IA'......])来按时区汇总人口数据。请注意,向源数据添加时区列并调整数据透视表可以实现类似的效果。
+-----------+-------------------+
| Time Zone | SUM of Population |
+-----------+-------------------+
| Central | 106.3 |
| Eastern | 151.9 |
| Mountain | 17.4 |
...
+-----------+-------------------+
JSON 表示法 |
---|
{
"groups": [
{
object (
|
字段 | |
---|---|
groups[]
|
组名称列表,以及源数据中与每个组名称对应的项。 |
ManualRuleGroup
一个组名称,以及源数据中应放置于具有该名称的组的列表。
JSON 表示法 |
---|
{ "groupName": { object ( |
字段 | |
---|---|
groupName
|
群组名称,它必须是字符串。给定 |
items[]
|
源数据中应放入此群组的项目。每个项可以是字符串、数字或布尔值。内容最多可以出现在给定 |
直方图规则
允许将源数据列中的数值整理到大小固定的存储分区中。从 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
|
创建的存储分区的大小。必须为正数。 |
start
|
将内容放入大小不变的存储分区的最小值。低于起始值的值会被归类到单个存储分区中。此字段是选填字段。 |
end
|
放置在固定大小的存储分区中的项的最大值。高于结束值的值会被并入单个存储分区中。此字段是选填字段。 |
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 (
|
字段 | |
---|---|
type
|
要应用的日期时间分组的类型。 |
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 Q4。 |
YEAR_MONTH_DAY
|
按年、月、日分组日期,例如 2008-11-22。 |
PivotGroupLimit
数据透视表元素组中行或列的数量限制。
JSON 表示法 |
---|
{ "countLimit": integer, "applyOrder": integer } |
字段 | |
---|---|
countLimit
|
数量限制。 |
applyOrder
|
群组限制应用于数据透视表的顺序。 数据透视分组限制从低到高排序。订单号从 0 开始标准化为连续的整数。
对于写入请求,要完全自定义应用顺序,所有数据透视组限制中的此字段都应设为唯一数字。否则,顺序由 |
PivotFilterCriteria
在数据透视表中显示/隐藏行的条件。
JSON 表示法 |
---|
{
"visibleValues": [
string
],
"condition": {
object (
|
字段 | |
---|---|
visibleValues[]
|
应包含的值。此处未列出任何值。 |
condition
|
某个值必须是 true,才会显示值。(
系统会根据数据透视表工作表评估引用 A1 表示法范围的条件值。引用的绝对处理方式不会填充数据透视表。例如,“数据透视表 1”上的条件值
数据透视表的源数据可通过列标题名称引用。例如,如果源数据中有名为“收入”和“费用”的列,而“收入”列应用了条件为 |
visibleByDefault
|
值是否默认显示。如果为 true,则忽略 |
PivotFilterSpec
与特定源列偏移量关联的数据透视表过滤条件。
JSON 表示法 |
---|
{ "filterCriteria": { object ( |
字段 | |
---|---|
filterCriteria
|
列的条件。 |
联合字段 source 。此过滤条件应用到的源列。
source 只能是下列其中一项:
|
|
columnOffsetIndex
|
源范围从零开始的列偏移。 |
dataSourceColumnReference
|
对数据源列的引用。 |
数据透视值
应该如何计算数据透视表中的值的定义。
JSON 表示法 |
---|
{ "summarizeFunction": enum ( |
字段 | |
---|---|
summarizeFunction
|
用于汇总值的函数。如果已设置 |
name
|
此值使用的名称。 |
calculatedDisplayType
|
如果已指定,则表示应按其他数据透视值的计算结果来显示数据透视值。例如,如果 computeDisplayType 指定为 PERCENT_OF_GRAND_TOTAL,则所有数据透视值都将显示为占总数的百分比。在表格编辑器中,这在数据透视表的值部分中称为“显示为”。 |
联合字段 value 。要用于数据透视表中的值的数据。只能设置一个值。value 只能是下列其中一项:
|
|
sourceColumnOffset
|
此值读取的来源范围的列偏移量。
例如,如果来源为 |
formula
|
一个用于计算值的自定义公式。公式必须以 |
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 时有效。
|
PivotValueCalculatedDisplayType
可计算数据透视值以显示的可能方式。
枚举 | |
---|---|
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED
|
默认值,请勿使用。 |
PERCENT_OF_ROW_TOTAL
|
以行总值的百分比的形式显示数据透视值。 |
PERCENT_OF_COLUMN_TOTAL
|
以列总计值的百分比的形式显示数据透视值。 |
PERCENT_OF_GRAND_TOTAL
|
以透视总数值的形式显示数据透视值。 |
PivotValueLayout
数据透视值的布局。
枚举 | |
---|---|
HORIZONTAL
|
值以水平方式(以列的形式)排列。 |
VERTICAL
|
值会垂直排列(显示为行)。 |