var query = from dr in objTotalLowDataTable2.AsEnumerable().Distinct()
group dr by dr[Select_oper] into gg
select new
{
Site = gg.Key,
sum = gg.Sum(r => r.Field<double>("Oper_Time")),
count = gg.Count()
};
Oper_Time은 현재 데이터 테이블에 00:00:00의 문자열로 이루어져 있습니다.
본래는 double형식으로 초 단위로 표시되었습니다만 ...
보기 편하게 시,분,초로 문자열로 바꿨습니다.
해당 시간에 대해 총 합을 구하기 위해 위의 소스를 아래와 같이 바꿧습니다.
var query = from dr in objTotalLowDataTable2.AsEnumerable().Distinct()
group dr by dr[Select_oper] new {Site = dr.Field<string>("Site") , Oper_time = dr.Field<string>("Oper_Time") } into gg
select new
{
Site = gg.Key.Site,
strSum = gg.Key.Oper_time,
count = gg.Count()
};
foreach (var x in query)
{
site_name.Add(x.Site.ToString());
site_oper.Add((double.Parse((x.strSum).Substring(0, 2)) * 3600) + (double.Parse((x.strSum).Substring(3, 2)) * 60) + (double.Parse((x.strSum).Substring(6, 2))));
site_count.Add(x.count);
}
합계는 잘 나오나 .. Group시 사이트의 개수가 2개가 나와야 하는데 Group이 안되고 4개로 되더라구요...
맨 처음 소스처럼 Sum이 함수를 사용하지 않아서 그런건가요 ??
조언 부탁 드립니다 ㅠ