본문 바로가기

Test Code/C#

[DataTable] DataTable.Computer 함수

DataTable.Computer


DataTable 해당 컬럼의 값을 Summary 처리합니다.

: AVG, MIN, MAX, SUM, COUNT, STDEV, VAR



using System;
using System.Data;

namespace Test_DataTableComputer
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable table = new DataTable();
            table.Columns.Add("Class");
            table.Columns.Add("Value", typeof(double));

            for (int i = 1; i < 10; i++)
            {
                for (int j = 1; j < 10; j++)
                {
                    table.Rows.Add(string.Format("{0}", i), i*j);
                }
            }


            // Computer 함수
            Console.WriteLine("평균       = {0}", table.Compute("avg(Value)", ""));
            Console.WriteLine("최소값    = {0}", table.Compute("min(Value)", ""));
            Console.WriteLine("최대값    = {0}", table.Compute("max(Value)", ""));
            Console.WriteLine("합계       = {0}", table.Compute("sum(Value)", ""));
            Console.WriteLine("개수       = {0}", table.Compute("count(Value)", ""));
            Console.WriteLine("표준편차 = {0}", table.Compute("stdev(Value)", ""));
            Console.WriteLine("분산       = {0}", table.Compute("var(Value)", ""));

            // 조건 추가
            Console.WriteLine("Class가 5인 평균   = {0}", table.Compute("avg(Value)", "Class='5'"));
            Console.WriteLine("Class가 5,7인 평균 = {0}", table.Compute("avg(Value)", "Class in('5','7')"));

            Console.ReadKey();
        }
    }
}