Custom Summaries
- 2 minutes to read
In This Article
This article describes how to create custom summaries in Optimized mode.
Note
Use the Custom
#Custom Summaries Overview
Pivot Grid allows you to calculate common summary functions for data fields. You can create custom summaries to execute complex calculations.
Custom summaries can do the following:
- Use predefined and custom aggregate functions to calculate summary values.
- Involve multiple fields in a summary calculation.
- Calculate a summary for records that match certain criteria.
#Create a Custom Summary
Do the following to create a custom summary for a data field:
- Create a Pivot Grid field.
- Create an ExpressionDataBinding object, and specify a calculated summary expression in the object’s constructor.
- Assign the created
ExpressionDataBinding
object to the field’s DataBinding property. - Add the field to the Data Area.
Refer to the following article for information on how to create calculated expressions: Bind Pivot Grid Fields to Calculated Expressions.
#Example: How to Calculate a Custom Summary
This example demonstrates how to determine the value type when you calculate custom summary values.
html
<dxwpg:ASPxPivotGrid ID="ASPxPivotGrid1" runat="server" Theme="Metropolis" Width="800px" Height="500px"
OptionsView-VerticalScrollBarMode="Auto" OptionsView-VerticalScrollingMode="Standard"
ClientIDMode="AutoID" IsMaterialDesign="False" OptionsPager-Visible="False">
<Fields>
<dxwpg:PivotGridField ID="fieldRowGroup" Area="RowArea" AreaIndex="0">
<DataBindingSerializable>
<dxwpg:DataSourceColumnBinding ColumnName="RowGroup" />
</DataBindingSerializable>
</dxwpg:PivotGridField>
<dxwpg:PivotGridField ID="fieldData" AreaIndex="0" Area="DataArea">
<DataBindingSerializable>
<dxwpg:ExpressionDataBinding Expression="iif(IsTotal([fieldColumnGroup]),'Grand Total',
IsTotal([fieldRowGroup]),'Grand Total',IsTotal([fieldColumn]),'Total',
IsTotal([fieldRow]),'Total',Sum([Data]))" />
</DataBindingSerializable>
</dxwpg:PivotGridField>
<dxwpg:PivotGridField ID="fieldRow" Area="RowArea" AreaIndex="1">
<DataBindingSerializable>
<dxwpg:DataSourceColumnBinding ColumnName="Row" />
</DataBindingSerializable>
</dxwpg:PivotGridField>
<dxwpg:PivotGridField ID="fieldColumnGroup" Area="ColumnArea" AreaIndex="0" >
<DataBindingSerializable>
<dxwpg:DataSourceColumnBinding ColumnName="ColumnGroup" />
</DataBindingSerializable>
</dxwpg:PivotGridField>
<dxwpg:PivotGridField ID="fieldColumn" Area="ColumnArea" AreaIndex="1">
<DataBindingSerializable>
<dxwpg:DataSourceColumnBinding ColumnName="Column" />
</DataBindingSerializable>
</dxwpg:PivotGridField>
</Fields>
<OptionsView VerticalScrollBarMode="Auto"></OptionsView>
<OptionsPager Visible="False"></OptionsPager>
<OptionsData DataProcessingEngine="Optimized"></OptionsData>
</dxwpg:ASPxPivotGrid>