21.1 (EAP/Beta)
20.2
20.1
19.2
19.1
18.2
18.1
17.2

# XRSummary.Func Property

Specifies the arithmetic function to calculate.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v18.2.dll

## Declaration

``````[DefaultValue(SummaryFunc.Sum)]
public virtual SummaryFunc Func { get; set; }``````

## Property Value

Type Default Description
SummaryFunc

Sum

A SummaryFunc enumeration value.

Available values:

Show 21 items
Name Description
Avg

Calculates the average of all the values within the specified summary region (group, page or report).

Count

Counts the number of values within the specified summary region (group, page or report).

Sum

Calculates the total of all the values within the specified summary region (group, page or report).

RunningSum

Summarizes all the values, which were printed before the current data row, with the current data row’s value.

Percentage

Calculates the percent ratio of the current data row’s value to the total of all the values within the specified summary region (group, page or report).

Max

Calculates the maximum of all the values within the specified summary region (group, page or report).

Min

Calculates the minimum of all the values within the specified summary region (group, page or report).

Median

Finds the middle number within a sequence.

Note that if the total number of elements is odd, this function returns the value of a middle number in a sequence. If the total number of elements is even, this function returns the arithmetical mean of the two middle numbers.

Var

Calculates the amount of variance for all the values within the specified summary region (group, page or report).

VarP

Calculates the population variance of all the values within the specified summary region (group, page or report).

StdDev

Calculates the standard deviation of all the values within the specified summary region (group, page or report).

StdDevP

Calculates the standard population deviation of all the values within the specified summary region (group, page or report).

DAvg

Calculates the average of all the distinct values within the specified summary region (group, page or report).

DCount

Counts the number of distinct values within the specified summary region (group, page or report).

DSum

Calculates the total of all the distinct values within the specified summary region (group, page or report).

DVar

Calculates the amount of variance for all the distinct values within the specified summary region (group, page or report).

DVarP

Calculates the population variance of all the distinct values within the specified summary region (group, page or report).

DStdDev

Calculates the standard deviation of all the distinct values within the specified summary region (group, page or report).

DStdDevP

Calculates the standard population deviation of all the distinct values within the specified summary region (group, page or report).

RecordNumber

Returns the current record number in the data source within the specified summary region (group, page or report). This means for instance, if the summary is calculated for a group, then the record number is calculated only within that group, and is reset every time a new group is started.

Custom

Calculates the custom summary using the XRLabel.SummaryReset, XRLabel.SummaryRowChanged and XRLabel.SummaryGetResult events.

## Remarks

The report area, for which the specified arithmetic function is calculated (page, group, or report), is specified by the XRSummary.Running property.

## Examples

The following example demonstrates how to set summary options for a label at runtime. The method below creates an XRSummary object, sets its properties, and sets the XRLabel.Summary property. This example assumes that there is an already existing XRLabel object, passed as a parameter and bound to a dataset field that contains a numerical value.

``````using DevExpress.XtraReports.UI;
// ...
public void SetFunction(XRLabel label) {
// Create an XRSummary object.
XRSummary summary = new XRSummary();

// Set a function which should be calculated.
summary.Func = SummaryFunc.Avg;

// Set a range for which the function should be calculated.
summary.Running = SummaryRunning.Group;

// Set the "ingore null values" option.
summary.IgnoreNullValues = true;

// Set the "treat strings as numerics" option.
summary.TreatStringsAsNumerics = true;

// Set the output string format.
summary.FormatString = "{0:c2}";

// Make the label calculate the specified function for the
// value specified by its DataBindings.Text property.
label.Summary = summary;
}
``````