/// <summary>
        /// Initializes a new instance of the <see cref="AnalysisProcessingValueResultColumnValue"/> class.
        /// </summary>
        /// <param name="resultColumn">Result column</param>
        /// <param name="yCategoryValue">Y category value</param>
        /// <param name="processingResultColumn">Processing result column</param>
        public AnalysisProcessingValueResultColumnValue(AnalysisValueResultColumn resultColumn, AnalysisProcessingYCategoryValue yCategoryValue, AnalysisProcessingResultColumn processingResultColumn)
            : base(processingResultColumn, yCategoryValue)
        {
            this.ResultColumn    = resultColumn;
            this.ValueFunction   = this.ResultColumn.ValueFunction;
            this.AggregationType = this.ResultColumn.AggregationType;
            if (this.ResultColumn.IsStatic)
            {
                this.valueAggregator = new AnalysisProcessingStaticValueAggregator();
            }
            else if (this.ResultColumn.ValueOptions.IsText)
            {
                this.valueAggregator = new AnalysisProcessingStringValueAggregator(this.ResultColumn.ValueOptions);
            }
            else if (this.AggregationType != null)
            {
                this.valueAggregator = this.AggregationType.CreateValueAggregator();
            }
            else
            {
                this.valueAggregator = new AnalysisProcessingSumValueAggregator();
            }

            this.SignificantQueryResultTableIndices = this.ResultColumn.SignificantQueryResultTableIndices;
            if (this.SignificantQueryResultTableIndices.Count == 0)
            {
                this.SignificantQueryResultTableIndices = new List <object> {
                    0
                };
            }

            this.complete = true;
        }
 private void AddStringValueXCategoryKey(string stringValue, string xCategoryKey)
 {
     if (string.IsNullOrEmpty(xCategoryKey))
     {
         AnalysisProcessingValueAggregator xAggregator = this.ValueAggregatorForXCategoryKey(xCategoryKey);
         xAggregator.AddStringValue(stringValue);
     }
 }
        /// <summary>
        /// Text result for x category value key
        /// </summary>
        /// <param name="key">Key</param>
        /// <returns>Returns text result for x category value key</returns>
        public override string TextResultForXCategoryValueKey(string key)
        {
            AnalysisProcessingValueAggregator xValueAggregator = this.xResults.ValueOrDefault(key) as AnalysisProcessingValueAggregator;

            return(xValueAggregator.StringValue);
        }