因此,我有代码可以在数据透视表中表达电子表格数据,但我需要将这些值显示为列总数的百分比。似乎有一个属性可以实现该结果,但是我不知道如何将其集成到脚本中。
https://developers.google.com/apps-script/reference/spreadsheet/pivot-value-display-type
function addPivotTable3(spreadsheetId3, pivotSourceDataSheetId3, destinationSheetId3)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = "Sheet3";
var pivotTableParams = {};
// The source indicates the range of data you want to put in the table.
// optional arguments: startRowIndex, startColumnIndex, endRowIndex, endColumnIndex
pivotTableParams.source = {
sheetId: ss.getSheetByName(sheetName).getSheetId()
};
// Group rows, the 'sourceColumnOffset' corresponds to the column number in the source range
// eg: 0 to group by the first column
pivotTableParams.rows = [{
sourceColumnOffset: 2,
sortOrder: "ASCENDING"
}];
// Defines how a value in a pivot table should be calculated.
pivotTableParams.values = [{
summarizeFunction: "SUM",
displayType: "PERCENT_OF_COLUMN_TOTAL",
sourceColumnOffset: 3
}];
var requests = [{
'updateCells': {
'rows': {
'values': [
{
'pivotTable': {
'source': {
'sheetId': pivotSourceDataSheetId3,
'startRowIndex': 0,
'startColumnIndex': 0,
'endRowIndex': 94,
'endColumnIndex': 4,
},
'rows': [
{
'sourceColumnOffset': 2,
'showTotals': true,
'sortOrder': 'ASCENDING',
'valueBucket': {
'buckets': [
{
'stringValue': 'BAE Stages',
},
],
},
},
{
'sourceColumnOffset': 94,
'showTotals': true,
'sortOrder': 'ASCENDING',
'valueBucket': {},
},
],
'columns': [
{
'sourceColumnOffset': 0,
'sortOrder': 'ASCENDING',
'showTotals': true,
'valueBucket': {},
},
],
'values': [
{
'summarizeFunction': "SUM",
'sourceColumnOffset': 3,
//'displayType': "PERCENT_OF_COLUMN_TOTAL",
//This line triggers a JSON erorr
},
],
'valueLayout': 'HORIZONTAL',
},
},
],
},
'start': {
'sheetId': destinationSheetId3,
'rowIndex': 0,
'columnIndex': 0,
},
'fields': 'pivotTable',
},
}];
var response =
Sheets.Spreadsheets.batchUpdate({'requests': requests}, spreadsheetId3);
}
答案 0 :(得分:1)
好吧,我也不知道,文档太神秘了。
我正要放弃,然后遇到了这个问题:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#PivotValueCalculatedDisplayType
最终我确定您的行应该是:
'calculatedDisplayType' : "PERCENT_OF_COLUMN_TOTAL",
(在上面的网页上是PivotValueCalculatedDisplayType
,表中是您提到的ENUM,“ PERCENT_OF_COLUMN_TOTAL”
我有一种预感,因为我们位于对象的数据透视表/值部分,所以我们不需要PivotValue ...,所以我们只剩下了calculatedDisplayType。
Ph。