PdfRpt.Aggregates.Numbers.Variance.ProcessingBoundary C# (CSharp) Method

ProcessingBoundary() public method

A general method which takes a list of data and calculates its corresponding aggregate value. It will be used to calculate the aggregate value of each pages individually, with considering the previous pages data.
public ProcessingBoundary ( IList columnCellsSummaryData ) : object
columnCellsSummaryData IList List of data
return object
        public object ProcessingBoundary(IList<SummaryCellData> columnCellsSummaryData)
        {
            if (columnCellsSummaryData == null || !columnCellsSummaryData.Any()) return 0;

            var list = columnCellsSummaryData;
            var count = list.Count();

            double sum = 0;
            foreach (var item in list)
            {
                double cellValue = Convert.ToDouble(item.CellData.PropertyValue, CultureInfo.InvariantCulture);
                sum += cellValue;
            }

            var mean = sum / count;

            double variance = 0;
            foreach (var item in list)
            {
                double cellValue = Convert.ToDouble(item.CellData.PropertyValue, CultureInfo.InvariantCulture);
                variance = variance + Math.Pow((cellValue - mean), 2);
            }

            return variance / count;
        }

Usage Example

コード例 #1
0
ファイル: StdDev.cs プロジェクト: mkbiltek2019/Timedepot
 /// <summary>
 /// A general method which takes a list of data and calculates its corresponding aggregate value.
 /// It will be used to calculate the aggregate value of each pages individually, with considering the previous pages data.
 /// </summary>
 /// <param name="columnCellsSummaryData">List of data</param>
 /// <returns>Aggregate value</returns>
 public object ProcessingBoundary(IList <SummaryCellData> columnCellsSummaryData)
 {
     if (columnCellsSummaryData == null || !columnCellsSummaryData.Any())
     {
         return(0);
     }
     return(Math.Sqrt((double)_varianceFunc.ProcessingBoundary(columnCellsSummaryData)));
 }