/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#pragma once
#include  Aggregation for numerical values.See Also:
   AWS
   * API Reference
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
Built-in aggregation functions for numerical values.
     * SUM: The sum of a dimension or measure. 
     * AVERAGE: The average of a dimension or measure.
     * MIN: The minimum value of a dimension or measure.
 MAX: The maximum value of a dimension or measure.
 COUNT: The count of a dimension or measure.
 DISTINCT_COUNT: The count of distinct values in a dimension or
     * measure.
 VAR: The variance of a dimension or
     * measure.
 VARP: The partitioned variance of a
     * dimension or measure.
 STDEV: The standard
     * deviation of a dimension or measure.
 STDEVP: The
     * partitioned standard deviation of a dimension or measure.
     * MEDIAN: The median value of a dimension or measure.
An aggregation based on the percentile of values in a dimension or * measure.
*/ inline const PercentileAggregation& GetPercentileAggregation() const{ return m_percentileAggregation; } /** *An aggregation based on the percentile of values in a dimension or * measure.
*/ inline bool PercentileAggregationHasBeenSet() const { return m_percentileAggregationHasBeenSet; } /** *An aggregation based on the percentile of values in a dimension or * measure.
*/ inline void SetPercentileAggregation(const PercentileAggregation& value) { m_percentileAggregationHasBeenSet = true; m_percentileAggregation = value; } /** *An aggregation based on the percentile of values in a dimension or * measure.
*/ inline void SetPercentileAggregation(PercentileAggregation&& value) { m_percentileAggregationHasBeenSet = true; m_percentileAggregation = std::move(value); } /** *An aggregation based on the percentile of values in a dimension or * measure.
*/ inline NumericalAggregationFunction& WithPercentileAggregation(const PercentileAggregation& value) { SetPercentileAggregation(value); return *this;} /** *An aggregation based on the percentile of values in a dimension or * measure.
*/ inline NumericalAggregationFunction& WithPercentileAggregation(PercentileAggregation&& value) { SetPercentileAggregation(std::move(value)); return *this;} private: SimpleNumericalAggregationFunction m_simpleNumericalAggregation; bool m_simpleNumericalAggregationHasBeenSet = false; PercentileAggregation m_percentileAggregation; bool m_percentileAggregationHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws