ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data Namespace / TableStatisticsDescription Class / TableStatisticsDescription Constructor
An IEnumerable containing one or more StatisticsDescriptions which specify what statistics function(s) should be performed on a specific field.
Example

In This Topic
    TableStatisticsDescription Constructor
    In This Topic
    Initializes a new instance of the TableStatisticsDescription class.
    Syntax

    Parameters

    statisticsDescriptions
    An IEnumerable containing one or more StatisticsDescriptions which specify what statistics function(s) should be performed on a specific field.
    Exceptions
    ExceptionDescription

    statisticsDescriptions is null.

    -or-

    The StatisticsDescription input at a specific index in statisticsDescriptions is null.

    statisticsDescriptions does not contain at least one non-null input.
    Example
    Calculating Statistics on a Table
    // Calculate the Sum and Average of the Population_1990 and Population_2000 fields, grouped and ordered by Region
    public void CalculateStatistics(FeatureClass countryFeatureClass)
    {
        using (FeatureClassDefinition featureClassDefinition = countryFeatureClass.GetDefinition())
        {
            // Get fields
            Field regionField = featureClassDefinition.GetFields()
              .First(x => x.Name.Equals("Region"));
            Field pop1990Field = featureClassDefinition.GetFields()
              .First(x => x.Name.Equals("Population_1990"));
            Field pop2000Field = featureClassDefinition.GetFields()
              .First(x => x.Name.Equals("Population_2000"));
    
            // Create StatisticsDescriptions
            StatisticsDescription pop1990StatisticsDescription = new StatisticsDescription(pop1990Field,
                      new List<StatisticsFunction>() { StatisticsFunction.Sum,
                                                StatisticsFunction.Average });
    
            StatisticsDescription pop2000StatisticsDescription = new StatisticsDescription(pop2000Field,
                      new List<StatisticsFunction>() { StatisticsFunction.Sum,
                                                StatisticsFunction.Average });
    
            // Create TableStatisticsDescription
            TableStatisticsDescription tableStatisticsDescription = new TableStatisticsDescription(new List<StatisticsDescription>() {
                  pop1990StatisticsDescription, pop2000StatisticsDescription });
            tableStatisticsDescription.GroupBy = new List<Field>() { regionField };
            tableStatisticsDescription.OrderBy = new List<SortDescription>() { new SortDescription(regionField) };
    
            // Calculate Statistics
            IReadOnlyList<TableStatisticsResult> tableStatisticsResults = countryFeatureClass.CalculateStatistics(tableStatisticsDescription);
    
            foreach (TableStatisticsResult tableStatisticsResult in tableStatisticsResults)
            {
                // Get the Region name
                // If multiple fields had been passed into TableStatisticsDescription.GroupBy, there would be multiple values in TableStatisticsResult.GroupBy
                string regionName = tableStatisticsResult.GroupBy.First().Value.ToString();
    
                // Get the statistics results for the Population_1990 field
                StatisticsResult pop1990Statistics = tableStatisticsResult.StatisticsResults[0];
                double population1990Sum = pop1990Statistics.Sum;
                double population1990Average = pop1990Statistics.Average;
    
                // Get the statistics results for the Population_2000 field
                StatisticsResult pop2000Statistics = tableStatisticsResult.StatisticsResults[1];
                double population2000Sum = pop2000Statistics.Sum;
                double population2000Average = pop2000Statistics.Average;
    
                // Do something with the results here...
            }
        }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also