Class DataSourcePivotTable

数据透视

访问和修改现有的数据源数据透视表。如需创建新的数据源数据透视表,请使用 Range.createDataSourcePivotTable(dataSource)

仅将此类用于与数据库关联的数据。

方法

方法返回类型简介
addColumnGroup(columnName)PivotGroup根据指定的数据源列添加新的透视列组。
addFilter(columnName, filterCriteria)PivotFilter根据指定的数据源列和指定的过滤条件添加新过滤器。
addPivotValue(columnName)PivotValue基于指定的数据源列添加新的透视值,而无需任何汇总函数。
addPivotValue(columnName, summarizeFunction)PivotValue根据指定的数据源列和指定的汇总函数添加新的透视值。
addRowGroup(columnName)PivotGroup根据指定的数据源列添加新的数据透视行组。
asPivotTable()PivotTable将数据源数据透视表作为常规数据透视表对象返回。
cancelDataRefresh()DataSourcePivotTable取消与此对象关联的数据刷新(如果当前正在运行)。
forceRefreshData()DataSourcePivotTable刷新此对象的数据,无论当前状态如何。
getDataSource()DataSource获取对象关联的数据源。
getStatus()DataExecutionStatus获取对象的数据执行状态。
refreshData()DataSourcePivotTable刷新对象的数据。
waitForCompletion(timeoutInSeconds)DataExecutionStatus等待当前执行操作完成,并在提供的秒数后超时。

详细文档

addColumnGroup(columnName)

根据指定的数据源列添加新的透视列组。

参数

名称类型说明
columnNameString数据源列名称(用于构建数据透视群组)。

返回

PivotGroup - 新的数据透视组。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addFilter(columnName, filterCriteria)

根据指定的数据源列和指定的过滤条件添加新过滤器。

参数

名称类型说明
columnNameString过滤器所依据的数据源列名称。
filterCriteriaFilterCriteria过滤条件使用的条件。

返回

PivotFilter - 新过滤条件。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addPivotValue(columnName)

基于指定的数据源列添加新的透视值,而无需任何汇总函数。仅适用于 Looker 指标。

以下代码展示了如何将 Looker 指标添加为数据透视值。

// TODO(developer): Replace with your spreadsheet ID which has a Looker data
// source.
const spreadsheet = SpreadsheetApp.openById('abcd1234');
const datasource = spreadsheet.getDataSources()[0];
const pivotTable = datasource.createDataSourcePivotTableOnNewSheet();

pivotTable.addPivotValue('columnName');

此方法仅适用于 Looker 数据源。

参数

名称类型说明
columnNameString数据透视值所依据的数据源列名称。

返回

PivotValue - 新的枢轴值。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addPivotValue(columnName, summarizeFunction)

根据指定的数据源列和指定的汇总函数添加新的透视值。

如需为 Looker 测量添加数据透视值,请使用 addPivotValue(columnName)

参数

名称类型说明
columnNameString数据透视值所依据的数据源列名称。
summarizeFunctionPivotTableSummarizeFunction数据透视值使用的汇总函数。

返回

PivotValue - 新的枢轴值。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addRowGroup(columnName)

根据指定的数据源列添加新的数据透视行组。

参数

名称类型说明
columnNameString数据源列名称(用于构建数据透视群组)。

返回

PivotGroup - 新的数据透视组。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

asPivotTable()

将数据源数据透视表作为常规数据透视表对象返回。

返回

PivotTable - 数据透视表。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

cancelDataRefresh()

取消与此对象关联的数据刷新(如果当前正在运行)。

以下示例展示了如何取消公式刷新。

const spreadsheet = SpreadsheetApp.getActive();
const formula = spreadsheet.getDataSourceFormulas()[0];
// Cancel the ongoing refresh on the formula.
formula.cancelDataRefresh();

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据源类型启用数据执行。

返回

DataSourcePivotTable - 数据对象。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forceRefreshData()

无论当前状态如何,都会刷新此对象的数据。如需了解详情,请参阅 refreshData()。如果您想取消当前正在运行的此对象刷新,请参阅 cancelDataRefresh()

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据源类型启用数据执行。

返回

DataSourcePivotTable - 数据对象。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSource()

获取对象关联的数据源。

返回

DataSource - 数据源。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getStatus()

获取对象的数据执行状态。

返回

DataExecutionStatus - 数据执行状态。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

refreshData()

刷新对象的数据。

如果当前处于 error 状态,则会抛出异常。使用 DataSource#updateSpec() 更新规范。建议使用此方法,而不是 forceRefreshData(),以防止对数据源进行意外修改。

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据源类型启用数据执行。

返回

DataSourcePivotTable - 数据对象。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

waitForCompletion(timeoutInSeconds)

等待当前执行操作完成,并在提供的秒数后超时。 如果超时时执行未完成,则会抛出异常,但不会取消数据执行。

参数

名称类型说明
timeoutInSecondsInteger等待数据执行的时间(以秒为单位)。最长为 300 秒。

返回

DataExecutionStatus - 数据执行状态。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets