ArcGIS Pro 3.7 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
    {
      // Must be called within QueuedTask.Run
      // Calculate the Sum and Average of the Population_1990 and Population_2000 fields, grouped and ordered by Region
      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 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also