SubTotal(Type: PivotEvaluatorElementType,
Relation: Variant,
Position: PivotTotalPosition)
Type. Метод вычисления промежуточных итогов;
Relation. Элемент измерения, по которому необходимо получить рассчитанный промежуточный итог. Необязательный параметр. По умолчанию параметр имеет значение Null;
Position. Расположение итога (по строкам/по столбцам). Необязательный параметр. Значение по умолчанию PivotTotalPosition.Default_ - расположение не определено.
Возвращает значение промежуточного итога, т.е. значение итога элементов измерения по элементу вышестоящего измерения.
Обязательным требованием для работы метода является включение расчета необходимых итогов для строк/столбцов таблицы. Если итоги не рассчитываются, то метод вернет пустые значения.
Если параметр Relation не указан, то функция вернёт промежуточный итог того элемента, после которого создается вычисляемый элемент. В качестве значения параметра Relation необходимо указывать элемент того измерения, для которого создается вычисляемый элемент. При указании параметра Relation функция вернёт промежуточный итог, рассчитанный по указываемому элементу. Если в шапке/боковике несколько измерений, то будет браться промежуточный итог по последнему измерению шапки/боковика.
Если параметр Position не указан или значение совпадает с расположением создаваемого вычисляемого элемента, то функция вернёт итог элемента, для которого задается формула преобразования. Если указывается значение, являющееся противоположным относительно расположения вычисляемого элемента (вычисляемый элемент расположен в столбцах и указывается значение PivotTotalPosition.Rows, и наоборот), то функция вернёт значение промежуточного итога по строкам/столбцам соответственно.
При использовании метода SubTotal учитывайте следующие особенности:
если вычисляемый элемент расположен в столбцах и функция задана с параметром «Итоги по столбцам» или если вычисляемый элемент расположен в строках и функция задана с параметром «Итоги по строкам»:
если функция SubTotal задается для существующего элемента измерения без указания конкретного элемента в формуле и для таблицы рассчитан соответствующий метод итога, то промежуточный итог будет вычислен по данному элементу;
если был добавлен новый вычисляемый элемент и для него не была рассчитана формула, откуда можно взять итог, то значение функции SubTotal по данному вычисляемому элементу будет пустым;
если в шапке/боковике таблицы с данными содержится несколько измерений, промежуточный итог будет рассчитан по последнему измерению в шапке/боковике;
если для вычисляемого элемента в формуле указать другой элемент, то промежуточный итог будет рассчитан по указанному элементу;
если вычисляемый элемент расположен в столбцах и функция задана с параметром «Итоги по строкам» или если вычисляемый элемент расположен в строках и функция задана с параметром «Итоги по столбцам», то значение вычисляемого элемента будет соответствовать значению промежуточного итога по строкам/столбцам соответственно.
Если промежуточный итог по строкам/столбцам не рассчитан, то соответствующая функция, заданная в формулах, вернёт пустое значение. Например, если формула задана как SubTotal, но итог «Сумма» по столбцам для таблицы не рассчитан, то данная функция вернет пустое значение.
Формула | Результат | Применение |
= SubTotal(PivotEvaluatorElementType.Sum, Null, PivotTotalPosition.Rows) | Рассчитан расположенный по строкам промежуточный итог в виде суммы соответствующих измерений, находящихся выше вычисляемого элемента. | Можно использовать в формулах вычисляемых элементов. |
См. также:
Функции, доступные в редакторе выражения │ Итоги │ IPivotClass.SubTotal