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 列というフィルタが設定されますが、キー 1D 列のフィルタになります。

このフィールドは非推奨になりました。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 行目は「Q1 Mar」に該当していますが、「Q1」は、前の行と重複しているため表示されません。「RepeatHeading」を true に設定すると、「2」と「3」の「Q1」が繰り返されます。

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

string

カスタマイズ可能な行/列グループに使用するラベル。たとえば、次のピボット テーブルでは、行ラベルは Region(名前は State に変更可能)で、列ラベルは ProductItem に変更可能)です。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:E15 の場合、sourceColumnOffset0 の場合、このグループは列 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)

値の並べ替え元となるバケットを決定します。

たとえば、1 つの行グループと 2 つの列グループを持つピボット テーブルの場合、行グループは最大 2 つの値を指定できます。最初の値は最初の列グループ内の値に対応し、2 番目の値は 2 番目の列グループ内の値に対応します。値が記載されていない場合は、列グループの「合計」に従って行が並べ替えられることを示します。単一の値が表示されている場合は、そのバケットの「合計」の使用に対応します。

PivotGroupRule

PivotGroup の任意の設定。個々の値を個別に分割するのではなく、ソースデータ列の値をバケットで定義します。ソースデータの列ごとに、グループルールを持つ PivotGroup を 1 つだけ追加できます。ただし、どの列でも、ルールを持つ 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.
}
フィールド
共用体フィールド rulePivotGroup に適用するルール。 rule は次のいずれかになります。
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 内の最大 1 つのグループに表示できます。グループに表示されない項目は、単独で表示されます。

HistogramRule

ソースデータ列の数値を定数サイズのバケットに整理できます。HistogramRule.start から HistogramRule.end のすべての値が HistogramRule.interval のサイズのグループに配置されます。また、HistogramRule.start 以下の値はすべて 1 つのグループに配置され、HistogramRule.end より上のすべての値は別のグループに配置されます。必須は HistogramRule.interval のみですが、HistogramRule.startHistogramRule.end の両方が指定されている場合、HistogramRule.startHistogramRule.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

商品アイテムが一定のサイズのバケットに配置される最小値。start を下回る値は、1 つのバケットにまとめられます。このフィールドは省略可能です。

end

number

商品アイテムが一定のサイズのバケットに配置される最大値。値を上回る値は、1 つのバケットにまとめられます。このフィールドは省略可能です。

DateTimeRule

ソースデータ列の日時値を、選択された日付値または時刻値に基づいてバケットにまとめることができます。たとえば、日付別に販売取引を表示するピボット テーブルについて考えてみます。

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

YEAR_MONTH の DateTimeRuleType を使用して日時グループ ルールを適用すると、次のピボット テーブルが作成されます。

+--------------+--------------+
| 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 日付を日付別や月別にグループ化します(例: 11 月 22 日)。月はスプレッドシートのロケールに基づいて翻訳されます。
MONTH 日付を月ごとにグループ化します(例: 11 月)。月はスプレッドシートのロケールに基づいて翻訳されます。
QUARTER 四半期別に日付をグループ化する(例: 1 月~ 3 月の第 1 四半期)。
YEAR 日付を年別にグループ化します(例: 2008)。
YEAR_MONTH 日付を年別や月別にグループ化する(2008 年~ 11 月など)。月はスプレッドシートのロケールに基づいて翻訳されます。
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)

値を表示するには true となる条件です。(visibleValues はこの値をオーバーライドしません。値がリストに含まれていても、条件を満たしていない場合、非表示になります)。

A1 表記の範囲を参照する条件値は、ピボット テーブル シートを基準にして評価されます。参照は絶対的なものとして扱われるため、ピボット テーブルが埋まることはありません。たとえば、「ピボット テーブル 1」の条件値 =A1'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)

データソース列への参照。

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。ピボット テーブル内の値に使用するデータ。値は 1 つのみ設定する必要があります。value は次のいずれかになります。
sourceColumnOffset

integer

この値から読み取られるソース範囲の列オフセット。

たとえば、ソースが C10:E15 の場合、sourceColumnOffset0 の場合、この値は列 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 が設定されている場合のみ有効です。

PivotValueCalculatedDisplayType

ピボット値を計算するために考えられる方法。

列挙型
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED デフォルト値。使用しないでください。
PERCENT_OF_ROW_TOTAL ピボット値を行の合計値の割合で表示します。
PERCENT_OF_COLUMN_TOTAL ピボット値を列の合計値に対する割合として表示します。
PERCENT_OF_GRAND_TOTAL ピボット値を総計値の割合として表示します。

PivotValueLayout

ピボット値のレイアウト。

列挙型
HORIZONTAL 値は横方向(列)に配置されます。
VERTICAL 値は縦方向(行)に配置されます。