/// <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;
        }
Ejemplo n.º 2
0
        private void ProcessingAnalysisConfiguration()
        {
            if (this.Analysis.Configuration.Values == null)
            {
                return;
            }

            foreach (var value in this.Analysis.Configuration.Values)
            {
                var valueField = new AnalysisValueField(this.Analysis, value);

                this.valueDictionary.SetObjectForKey(valueField, valueField.Key);
                var valueResultColumn = new AnalysisValueResultColumn(valueField);

                this.resultColumns.SetObjectForKey(valueResultColumn, valueField.Key);
                if (!valueField.IsCategory && !valueField.IsDefaultCategory && !valueField.IsXCategory)
                {
                    continue;
                }

                var valueCategory = new AnalysisValueCategory(valueField);
                if (valueField.IsXCategory)
                {
                    this.SetXCategory(valueCategory);
                }
                else
                {
                    this.categoryDictionary.SetObjectForKey(valueCategory, valueCategory.Key);
                    if (valueField.IsDefaultCategory)
                    {
                        this.SetDefaultCategory(valueCategory);
                    }
                }
            }
        }