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 填入回應中的 Pod如果更新要求中同時指定了這兩個欄位,則以這個欄位為優先。

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

如果這個資料透視表群組的標題重複,則為「是」。這個方法只適用於資料列分組,且會忽略欄。

根據預設,系統不會顯示較高層級的標題,以免重複的標題重複。舉例來說,雖然下方第三列對應「Q1 Mar」,但「Q1」不會顯示,因為與前面幾列重複。將重複標題設為 true 會導致「Q1」重複輸入「20」以及「3 月」

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

如果與值對應的資料收合,則為「是」。

PivotGroupSortValueBucket

瞭解應使用資料透視表中哪些值進行排序的相關資訊。

JSON 表示法
{
  "valuesIndex": integer,
  "buckets": [
    {
      object (ExtendedValue)
    }
  ]
}
欄位
valuesIndex

integer

PivotTable.values 清單中的偏移量,這個分組中的值應依此排序。

buckets[]

object (ExtendedValue)

決定要從哪個值區選擇要排序的值。

例如,在資料透視表中,有 1 個資料列群組,兩個資料欄群組,列群組最多可列出兩個值。第一個值對應第一個資料欄群組中的一個值,第二個值對應第二個資料欄群組中的一個值。如果沒有列出任何值,表示資料列應根據各欄組的「總計」排序。如果列出單一值,則會對應到該值的「總計」。

PivotGroupRule

您可以選擇在 PivotGroup 定義來源資料欄內值的值區,而不是細分每個個別值。僅限 1 個 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)

A 罩杯 ManualRule

histogramRule

object (HistogramRule)

A 罩杯 HistogramRule

dateTimeRule

object (DateTimeRule)

A 罩杯 DateTimeRule

ManualRule

可讓您手動將來源資料欄中的值分類,並為這些值命名。例如,按州別匯總人口的樞紐分析表:

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

可以將群組清單 (例如 groupName = 'Central'、item = ['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.startHistogramRule.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 的數值, 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

項目放入常數大小值區的最大值。以上結尾的值會合入單一值區。這是選填欄位。

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 分。系統會根據試算表語言代碼翻譯上午/下午標示。
DAY_OF_WEEK 依據星期幾 (例如星期日) 將日期分組。系統會根據試算表語言代碼翻譯星期幾。
DAY_OF_YEAR 依照一年中的日期 (1 到 366) 將日期分組。請注意,2 月 29 日之後的日期在閏年和平年會落在不同的分類中。
DAY_OF_MONTH 依月內日期 (1 到 31) 分組。
DAY_MONTH 將日期依照日期和月份分組,例如 11 月 22 日。月份會根據試算表語言代碼進行翻譯。
MONTH 將日期依月份分組,例如 11 月。月份會根據試算表語言代碼進行翻譯。
QUARTER 按季分組,例如第 1 季 (代表 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」和「Cost」的資料欄,且系統會將條件套用至「Revenue」欄,類型為 NUMBER_GREATER ,值為 =Cost,則系統只會納入「Revenue」>「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)

資料來源欄的參照。

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)

如果指定此值,表示樞紐值應顯示為使用其他樞紐值計算的結果。舉例來說,如果將計算得出的 DisplayType 指定為 PERCENT_OF_GRAND_TOTAL,則所有樞紐值都會顯示為總計資料的百分比。在 Google 試算表編輯器中,資料透視表的值部分會稱為「顯示為」。

聯集欄位 value。要用於資料透視表中值的資料。必須設定一個值。value 只能為下列其中一項:
sourceColumnOffset

integer

這個值讀取的來源範圍的資料欄偏移。

舉例來說,如果來源是 C10:E150sourceColumnOffset 代表這個值參照資料欄 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 值會以垂直方式排列 (以列為單位)。