ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Core.Data Namespace / StatisticsDescription Class / StatisticsDescription Constructor
The Field upon which statistics functions are performed.
An IEnumerable of one or more StatisticsFunctions, specifying what statistics should be computed.
Example

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

    Parameters

    field
    The Field upon which statistics functions are performed.
    statisticsFunctions
    An IEnumerable of one or more StatisticsFunctions, specifying what statistics should be computed.
    Exceptions
    ExceptionDescription

    field is null.

    -or-

    statisticsFunctions is null.

    statisticsFunctions does not contain at least one valid input.
    One or more StatisticsFunctions in statisticsFunctions are invalid.
    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.0 or higher.
    See Also