Сводная таблица Сортировка по значению - PullRequest
0 голосов
/ 28 июня 2018

У нас есть сводная таблица, которая группирует продажи каждого клиента за последние 3 года в столбцы в зависимости от года.

Мы бы хотели, чтобы сводная таблица сортировала данные в порядке убывания на основе продаж за текущий год.

Я считаю, что это возможно при использовании PivotGroupSortValueBucket , но я не уверен, как интегрировать эту концепцию в то, что у нас уже есть.

  var pivotTable = Sheets.newPivotTable();

  var gridRange = Sheets.newGridRange();
  gridRange.sheetId = sourceSheetId;
  gridRange.startRowIndex = 0;
  gridRange.startColumnIndex = 0;
  gridRange.endRowIndex = lastrow;
  gridRange.endColumnIndex = 12;
  pivotTable.source = gridRange;

  var pivotCol0 = Sheets.newPivotGroup()
  pivotCol0.sourceColumnOffset = 3;
  pivotCol0.showTotals = false;
  pivotCol0.repeatHeadings = true
  pivotCol0.sortOrder = 'ASCENDING';

  var pivotCol1 = Sheets.newPivotGroup()
  pivotCol1.sourceColumnOffset = 2;
  pivotCol1.showTotals = true;
  pivotCol1.repeatHeadings = true
  pivotCol1.sortOrder = 'ASCENDING';

  var pivotCol2 = Sheets.newPivotGroup()
  pivotCol2.sourceColumnOffset = 1;
  pivotCol2.showTotals = false;
  pivotCol2.repeatHeadings = true
  pivotCol2.sortOrder = 'ASCENDING';

  var pivotCol3 = Sheets.newPivotGroup()
  pivotCol3.sourceColumnOffset = 0;
  pivotCol3.showTotals = false;
  pivotCol3.repeatHeadings = true
  pivotCol3.sortOrder = 'ASCENDING';

  var pivotColumns = Sheets.newPivotGroup();
  pivotColumns.sourceColumnOffset = 10;
  pivotColumns.sortOrder = 'ASCENDING';
  pivotColumns.showTotals = true;
  pivotTable.columns = pivotColumns;  

  pivotTable.rows = [pivotCol0,pivotCol1,pivotCol2,pivotCol3]

  var pivotValue = Sheets.newPivotValue()
  pivotValue.summarizeFunction = 'SUM';
  pivotValue.sourceColumnOffset = 9;

  pivotTable.values = [pivotValue];

  var cellData = Sheets.newCellData();
  cellData.pivotTable = pivotTable;

  var rows = Sheets.newRowData();
  rows.values = cellData;

  var start = Sheets.newGridCoordinate();
  start.sheetId = targetSheetId;
  start.rowIndex = 0;
  start.columnIndex = 0;

  var updateCellsRequest = Sheets.newUpdateCellsRequest();
  updateCellsRequest.rows = rows;
  updateCellsRequest.start = start;
  updateCellsRequest.fields = 'pivotTable';

  // Batch update our spreadsheet
  var batchUpdate = Sheets.newBatchUpdateSpreadsheetRequest();
  var updateCellsRawRequest = Sheets.newRequest();
  updateCellsRawRequest.updateCells = updateCellsRequest;
  batchUpdate.requests = [updateCellsRawRequest];
  var response = Sheets.Spreadsheets.batchUpdate(batchUpdate, spreadsheetId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...