/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace QuickSight { namespace Model { /** *

Aggregation for attributes.

See Also:

AWS * API Reference

*/ class AttributeAggregationFunction { public: AWS_QUICKSIGHT_API AttributeAggregationFunction(); AWS_QUICKSIGHT_API AttributeAggregationFunction(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API AttributeAggregationFunction& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_QUICKSIGHT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline const SimpleAttributeAggregationFunction& GetSimpleAttributeAggregation() const{ return m_simpleAttributeAggregation; } /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline bool SimpleAttributeAggregationHasBeenSet() const { return m_simpleAttributeAggregationHasBeenSet; } /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline void SetSimpleAttributeAggregation(const SimpleAttributeAggregationFunction& value) { m_simpleAttributeAggregationHasBeenSet = true; m_simpleAttributeAggregation = value; } /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline void SetSimpleAttributeAggregation(SimpleAttributeAggregationFunction&& value) { m_simpleAttributeAggregationHasBeenSet = true; m_simpleAttributeAggregation = std::move(value); } /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline AttributeAggregationFunction& WithSimpleAttributeAggregation(const SimpleAttributeAggregationFunction& value) { SetSimpleAttributeAggregation(value); return *this;} /** *

The built-in aggregation functions for attributes.

  • * UNIQUE_VALUE: Returns the unique value for a field, aggregated by * the dimension fields.

*/ inline AttributeAggregationFunction& WithSimpleAttributeAggregation(SimpleAttributeAggregationFunction&& value) { SetSimpleAttributeAggregation(std::move(value)); return *this;} /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline const Aws::String& GetValueForMultipleValues() const{ return m_valueForMultipleValues; } /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline bool ValueForMultipleValuesHasBeenSet() const { return m_valueForMultipleValuesHasBeenSet; } /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline void SetValueForMultipleValues(const Aws::String& value) { m_valueForMultipleValuesHasBeenSet = true; m_valueForMultipleValues = value; } /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline void SetValueForMultipleValues(Aws::String&& value) { m_valueForMultipleValuesHasBeenSet = true; m_valueForMultipleValues = std::move(value); } /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline void SetValueForMultipleValues(const char* value) { m_valueForMultipleValuesHasBeenSet = true; m_valueForMultipleValues.assign(value); } /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline AttributeAggregationFunction& WithValueForMultipleValues(const Aws::String& value) { SetValueForMultipleValues(value); return *this;} /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline AttributeAggregationFunction& WithValueForMultipleValues(Aws::String&& value) { SetValueForMultipleValues(std::move(value)); return *this;} /** *

Used by the UNIQUE_VALUE aggregation function. If there are * multiple values for the field used by the aggregation, the value for this * property will be returned instead. Defaults to '*'.

*/ inline AttributeAggregationFunction& WithValueForMultipleValues(const char* value) { SetValueForMultipleValues(value); return *this;} private: SimpleAttributeAggregationFunction m_simpleAttributeAggregation; bool m_simpleAttributeAggregationHasBeenSet = false; Aws::String m_valueForMultipleValues; bool m_valueForMultipleValuesHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws