Class: QgsAggregateCalculator

class qgis.core.QgsAggregateCalculator(layer: QgsVectorLayer)

Bases: sip.wrapper

Constructor for QgsAggregateCalculator.

Parameters

layer (QgsVectorLayer) – vector layer to calculate aggregate from

QgsAggregateCalculator(QgsAggregateCalculator)

Utility class for calculating aggregates for a field (or expression) over the features from a vector layer. It is recommended that QgsVectorLayer.aggregate() is used rather then directly using this class, as the QgsVectorLayer method can handle delegating aggregate calculation to a data provider for remote calculation.

Methods

aggregates

Structured information for available aggregates.

calculate

Calculates the value of an aggregate.

delimiter

Returns the delimiter used for joining values with the StringConcatenate aggregate.

filter

Returns the filter which limits the features used during the aggregate calculation.

layer

Returns the associated vector layer.

setDelimiter

Sets the delimiter to use for joining values with the StringConcatenate aggregate.

setFidsFilter

Sets a filter to limit the features used during the aggregate calculation.

setFilter

Sets a filter to limit the features used during the aggregate calculation.

setParameters

Sets all aggregate parameters from a parameter bundle.

stringToAggregate

Converts a string to a aggregate type.

Attributes

ArrayAggregate

Count

CountDistinct

CountMissing

FirstQuartile

GeometryCollect

InterQuartileRange

Majority

Max

Mean

Median

Min

Minority

Range

StDev

StDevSample

StringConcatenate

StringConcatenateUnique

StringMaximumLength

StringMinimumLength

Sum

ThirdQuartile

class Aggregate

Bases: int

class AggregateInfo

Bases: sip.wrapper

QgsAggregateCalculator.AggregateInfo(QgsAggregateCalculator.AggregateInfo)

function
name
supportedTypes
class AggregateParameters

Bases: sip.wrapper

QgsAggregateCalculator.AggregateParameters(QgsAggregateCalculator.AggregateParameters)

delimiter
filter
orderBy
ArrayAggregate = 20
Count = 0
CountDistinct = 1
CountMissing = 2
FirstQuartile = 13
GeometryCollect = 19
InterQuartileRange = 15
Majority = 12
Max = 4
Mean = 6
Median = 7
Min = 3
Minority = 11
Range = 10
StDev = 8
StDevSample = 9
StringConcatenate = 18
StringConcatenateUnique = 21
StringMaximumLength = 17
StringMinimumLength = 16
Sum = 5
ThirdQuartile = 14
aggregates() → List[QgsAggregateCalculator.AggregateInfo]

Structured information for available aggregates.

New in version 3.2.

Return type

List[QgsAggregateCalculator.AggregateInfo]

calculate(self, aggregate: QgsAggregateCalculator.Aggregate, fieldOrExpression: str, context: QgsExpressionContext = None) → Tuple[Any, bool]

Calculates the value of an aggregate.

Parameters
  • aggregate (QgsAggregateCalculator.Aggregate) – aggregate to calculate

  • fieldOrExpression (str) – source field or expression to use as basis for aggregated values. If an expression is used, then the context parameter must be set.

  • context (QgsExpressionContext = None) – expression context for evaluating expressions

  • ok – if specified, will be set to True if aggregate calculation was successful

Return type

Tuple[Any, bool]

Returns

calculated aggregate value

delimiter(self) → str

Returns the delimiter used for joining values with the StringConcatenate aggregate.

See also

setDelimiter()

Return type

str

filter(self) → str

Returns the filter which limits the features used during the aggregate calculation.

See also

setFilter()

Return type

str

layer(self) → QgsVectorLayer

Returns the associated vector layer.

Return type

QgsVectorLayer

setDelimiter(self, delimiter: str)

Sets the delimiter to use for joining values with the StringConcatenate aggregate.

Parameters

delimiter (str) – string delimiter

See also

delimiter()

setFidsFilter(self, fids: object)

Sets a filter to limit the features used during the aggregate calculation. If an expression filter is set, it will override this filter.

Parameters

fids (object) – feature ids for feature filtering, and empty list will return no features.

See also

filter()

setFilter(self, filterExpression: str)

Sets a filter to limit the features used during the aggregate calculation.

Parameters

filterExpression (str) – expression for filtering features, or empty string to remove filter

See also

filter()

setParameters(self, parameters: QgsAggregateCalculator.AggregateParameters)

Sets all aggregate parameters from a parameter bundle.

Parameters

parameters (QgsAggregateCalculator.AggregateParameters) – aggregate parameters

stringToAggregate(string: str) → Tuple[QgsAggregateCalculator.Aggregate, bool]

Converts a string to a aggregate type.

Parameters
  • string (str) – string to convert

  • ok – if specified, will be set to True if conversion was successful

Return type

Tuple[QgsAggregateCalculator.Aggregate, bool]

Returns

aggregate type