Back to Devexpress

SeriesTemplateSummaryAdapter.DateTimeSummaryOptions Property

corelibraries-devexpress-dot-xtracharts-dot-seriestemplatesummaryadapter-b93f6750.md

latest10.8 KB
Original Source

SeriesTemplateSummaryAdapter.DateTimeSummaryOptions Property

Returns options that configure how the series calculates summary values of a data source with DateTime arguments.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
[PersistenceMode(PersistenceMode.InnerProperty)]
[XtraChartsLocalizableCategory(XtraChartsCategory.Data)]
public DateTimeSummaryOptions DateTimeSummaryOptions { get; }
vb
<XtraChartsLocalizableCategory(XtraChartsCategory.Data)>
<PersistenceMode(PersistenceMode.InnerProperty)>
Public ReadOnly Property DateTimeSummaryOptions As DateTimeSummaryOptions

Property Value

TypeDescription
DateTimeSummaryOptions

Stores summary settings for a chart with DateTime arguments.

|

Remarks

The DateTimeSummaryOptions include the SummaryFunction property. This property defines a function used to summarize series values.

Example

The following example shows how to create multiple series based on a template and aggregate their points with equal arguments:

csharp
using DevExpress.XtraCharts;
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace SummaryChart {
    public partial class Form1 : Form {

        private void OnLoad(object sender, EventArgs e) {
            // Specify the chart data source.
            chart.DataSource = DataPoint.GetDataPoints();

            //Create a summary data adapter.
            SeriesTemplateSummaryAdapter dataAdapter = new SeriesTemplateSummaryAdapter();

            // Create a data member that defines arguments.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Argument,
                ColumnName = "Argument",
                ScaleType = ScaleType.DateTime
            });
            // Create a data member that defines values.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Value,
                ColumnName = "Value",
                ScaleType = ScaleType.Numerical
            });
            // Create a data member that identifies data series.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Series,
                ColumnName = "Name",
                ScaleType = ScaleType.Qualitative
            });

            // Specify a summary function.
            dataAdapter.DateTimeSummaryOptions.SummaryFunction = "AVERAGE([Value])";

            // Assign the data adapter to the chart.
            chart.SeriesTemplate.DataAdapter = dataAdapter;
        }

        public class DataPoint {
            public DateTime Argument { get; set; }
            public double Value { get; set; }
            public string Name { get; set; }
            public static List<DataPoint> GetDataPoints() {
                return new List<DataPoint> {
                    new DataPoint { Argument = new DateTime(2020,1,1), Value = 853D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,1,1), Value = 321D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,1,1), Value = 655D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,2,1), Value = 1325D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,2,1), Value = 653D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,2,1), Value = 172D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,2,1), Value = 255D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,3,1), Value = 981D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,3,1), Value = 913D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,3,1), Value = 123D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,4,1), Value = 1011D, Name = "Series 1"},
                    new DataPoint { Argument = new DateTime(2020,4,1), Value = 359D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,4,1), Value = 721D, Name = "Series 2"},
                    new DataPoint { Argument = new DateTime(2020,4,1), Value = 565D, Name = "Series 1"}
                };
            }
        }
    }
}
vb
Imports DevExpress.XtraCharts
Imports System
Imports System.Collections.Generic
Imports System.Windows.Forms

Namespace SummaryChart
    Public Partial Class Form1
        Inherits Form

        Private Sub OnLoad(ByVal sender As Object, ByVal e As EventArgs)
            ' Specify the chart data source.
            chart.DataSource = DataPoint.GetDataPoints()

            'Create a summary data adapter.
            Dim dataAdapter As SeriesTemplateSummaryAdapter = New SeriesTemplateSummaryAdapter()

            ' Create a data member that defines arguments.
            dataAdapter.DataMembers.Add(New DataMember With {
                .DataMemberType = ChartDataMemberType.Argument,
                .ColumnName = "Argument",
                .ScaleType = ScaleType.DateTime
            })
            ' Create a data member that defines values.
            dataAdapter.DataMembers.Add(New DataMember With {
                .DataMemberType = ChartDataMemberType.Value,
                .ColumnName = "Value",
                .ScaleType = ScaleType.Numerical
            })
            ' Create a data member that identifies data series.
            dataAdapter.DataMembers.Add(New DataMember With {
                .DataMemberType = ChartDataMemberType.Series,
                .ColumnName = "Name",
                .ScaleType = ScaleType.Qualitative
            })

            ' Specify a summary function.
            dataAdapter.DateTimeSummaryOptions.SummaryFunction = "AVERAGE([Value])"

            ' Assign the data adapter to the chart.
            chart.SeriesTemplate.DataAdapter = dataAdapter
        End Sub

        Public Class DataPoint
            Public Property Argument As Date
            Public Property Value As Double
            Public Property Name As String

            Public Shared Function GetDataPoints() As List(Of DataPoint)
                Return New List(Of DataPoint) From {
                    New DataPoint With {
                        .Argument = New DateTime(2020, 1, 1),
                        .Value = 853R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 1, 1),
                        .Value = 321R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 1, 1),
                        .Value = 655R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 1325R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 653R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 172R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 255R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 981R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 913R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 123R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 1011R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 359R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 721R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 565R,
                        .Name = "Series 1"
                    }
                }
            End Function
        End Class
    End Class
End Namespace

See Also

SeriesTemplateSummaryAdapter Class

SeriesTemplateSummaryAdapter Members

DevExpress.XtraCharts Namespace