Skip to main content

Метод PivotTableEditor:setSortingByValue

Метод позволяет отсортировать данные в сводной таблице по значениям и итогам.

Вызов​


PivotTableEditor setSortingByValue(fieldName, order, valueFieldName, sortingByValueSlice, sortingFieldSubtotal, valueSliceSubtotal)

Параметры​

  • fieldName: название поля для сортировки, тип string.

  • order: порядок сортировки, тип PivotTableSortingOrder.

  • valueFieldName: название поля значений, которое содержит данные для сортировки, тип string.

  • sortingByValueSlice: (необязательный) срез данных для сортировки по значениям, содержит название строки или столбца с данными или путь до него во вложенной структуре, тип VectorString.

  • sortingFieldSubtotal: (необязательный) функция для сортировки по подытогам, применяется к заданному в параметре fieldName полю, тип PivotTableFunction.

  • valueSliceSubtotal: (необязательный) функция для сортировки по подытогам, применяется к заданному в параметре sortingByValueSlice полю, тип PivotTableFunction.

Возвращает​

  • текущий редактор сводных таблиц, тип PivotTableEditor.

Пример сортировки по общим итогам​


local sheet = document:getBlocks():getTable(0)
local cell = sheet:getCell("L1")
local pivotTable = cell:getPivotTable()
local editor = pivotTable:createPivotTableEditor()
editor:setSortingByValue("Manager", DocumentAPI.PivotTableSortingOrder_Ascending, "Сумма по полю Total")
editor:apply()

Пример сортировки по значениям во вложенном столбце "Russia > Furniture"​


local sheet = document:getBlocks():getTable(0)
local cell = sheet:getCell("L1")
local pivotTable = cell:getPivotTable()
local editor = pivotTable:createPivotTableEditor()
local columnSlice = DocumentAPI.VectorString()
columnSlice:push_back("Russia")
columnSlice:push_back("Furniture")
editor:setSortingByValue("Manager", DocumentAPI.PivotTableSortingOrder_Descending, "Сумма по полю Total", columnSlice)
editor:apply()

Пример сортировки по промежуточным итогам в столбце "Russia"​


local sheet = document:getBlocks():getTable(0)
local cell = sheet:getCell("L1")
local pivotTable = cell:getPivotTable()
local editor = pivotTable:createPivotTableEditor()
local columnSlice = DocumentAPI.VectorString()
columnSlice:push_back("Russia")
editor:setSortingByValue("Manager", DocumentAPI.PivotTableSortingOrder_Descending, "Сумма по полю Total", columnSlice, nil, DocumentAPI.PivotTableFunction_Auto)
editor:apply()