aspnet-7301-components-pivot-grid-data-shaping-aggregation-summaries-custom-summaries.md
This article describes how to create custom summaries in Optimized mode.
Note
Use the CustomSummary event to create custom summaries in Legacy or LegacyOptimized mode.
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:
Do the following to create a custom summary for a data field:
ExpressionDataBinding object to the field’s DataBinding property.Refer to the following article for information on how to create calculated expressions: Bind Pivot Grid Fields to Calculated Expressions.
This example demonstrates how to determine the value type when you calculate custom summary values.
<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>