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

The measure type field with categorical type columns.

See * Also:

AWS * API Reference

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

The custom field ID.

*/ inline const Aws::String& GetFieldId() const{ return m_fieldId; } /** *

The custom field ID.

*/ inline bool FieldIdHasBeenSet() const { return m_fieldIdHasBeenSet; } /** *

The custom field ID.

*/ inline void SetFieldId(const Aws::String& value) { m_fieldIdHasBeenSet = true; m_fieldId = value; } /** *

The custom field ID.

*/ inline void SetFieldId(Aws::String&& value) { m_fieldIdHasBeenSet = true; m_fieldId = std::move(value); } /** *

The custom field ID.

*/ inline void SetFieldId(const char* value) { m_fieldIdHasBeenSet = true; m_fieldId.assign(value); } /** *

The custom field ID.

*/ inline CategoricalMeasureField& WithFieldId(const Aws::String& value) { SetFieldId(value); return *this;} /** *

The custom field ID.

*/ inline CategoricalMeasureField& WithFieldId(Aws::String&& value) { SetFieldId(std::move(value)); return *this;} /** *

The custom field ID.

*/ inline CategoricalMeasureField& WithFieldId(const char* value) { SetFieldId(value); return *this;} /** *

The column that is used in the CategoricalMeasureField.

*/ inline const ColumnIdentifier& GetColumn() const{ return m_column; } /** *

The column that is used in the CategoricalMeasureField.

*/ inline bool ColumnHasBeenSet() const { return m_columnHasBeenSet; } /** *

The column that is used in the CategoricalMeasureField.

*/ inline void SetColumn(const ColumnIdentifier& value) { m_columnHasBeenSet = true; m_column = value; } /** *

The column that is used in the CategoricalMeasureField.

*/ inline void SetColumn(ColumnIdentifier&& value) { m_columnHasBeenSet = true; m_column = std::move(value); } /** *

The column that is used in the CategoricalMeasureField.

*/ inline CategoricalMeasureField& WithColumn(const ColumnIdentifier& value) { SetColumn(value); return *this;} /** *

The column that is used in the CategoricalMeasureField.

*/ inline CategoricalMeasureField& WithColumn(ColumnIdentifier&& value) { SetColumn(std::move(value)); return *this;} /** *

The aggregation function of the measure field.

*/ inline const CategoricalAggregationFunction& GetAggregationFunction() const{ return m_aggregationFunction; } /** *

The aggregation function of the measure field.

*/ inline bool AggregationFunctionHasBeenSet() const { return m_aggregationFunctionHasBeenSet; } /** *

The aggregation function of the measure field.

*/ inline void SetAggregationFunction(const CategoricalAggregationFunction& value) { m_aggregationFunctionHasBeenSet = true; m_aggregationFunction = value; } /** *

The aggregation function of the measure field.

*/ inline void SetAggregationFunction(CategoricalAggregationFunction&& value) { m_aggregationFunctionHasBeenSet = true; m_aggregationFunction = std::move(value); } /** *

The aggregation function of the measure field.

*/ inline CategoricalMeasureField& WithAggregationFunction(const CategoricalAggregationFunction& value) { SetAggregationFunction(value); return *this;} /** *

The aggregation function of the measure field.

*/ inline CategoricalMeasureField& WithAggregationFunction(CategoricalAggregationFunction&& value) { SetAggregationFunction(std::move(value)); return *this;} /** *

The format configuration of the field.

*/ inline const StringFormatConfiguration& GetFormatConfiguration() const{ return m_formatConfiguration; } /** *

The format configuration of the field.

*/ inline bool FormatConfigurationHasBeenSet() const { return m_formatConfigurationHasBeenSet; } /** *

The format configuration of the field.

*/ inline void SetFormatConfiguration(const StringFormatConfiguration& value) { m_formatConfigurationHasBeenSet = true; m_formatConfiguration = value; } /** *

The format configuration of the field.

*/ inline void SetFormatConfiguration(StringFormatConfiguration&& value) { m_formatConfigurationHasBeenSet = true; m_formatConfiguration = std::move(value); } /** *

The format configuration of the field.

*/ inline CategoricalMeasureField& WithFormatConfiguration(const StringFormatConfiguration& value) { SetFormatConfiguration(value); return *this;} /** *

The format configuration of the field.

*/ inline CategoricalMeasureField& WithFormatConfiguration(StringFormatConfiguration&& value) { SetFormatConfiguration(std::move(value)); return *this;} private: Aws::String m_fieldId; bool m_fieldIdHasBeenSet = false; ColumnIdentifier m_column; bool m_columnHasBeenSet = false; CategoricalAggregationFunction m_aggregationFunction; bool m_aggregationFunctionHasBeenSet = false; StringFormatConfiguration m_formatConfiguration; bool m_formatConfigurationHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws