Hi
I have a such a code blew, I want after grouping, acquire average of duration variable.
var qry = from dr in dt.AsEnumerable()
group dr by new { source = dr["saddr"] } into rowsGroup
select new
{
saddr = rowsGroup.Key,
value = rowsGroup,
daddr = rowsGroup.Count(),
dport = string.Join(",", rowsGroup.Select(av => av["dport"].ToString()).ToList()),
dstip = string.Join(",", rowsGroup.Select(aj => aj["CDaddr"].ToString()).ToList()),
duration = string.Join(",", rowsGroup.Select(av => av["dur"].ToString()).ToList()),
bytes = string.Join(",", rowsGroup.Select(av => av["bytes"].ToString()).ToList()),
pkt = string.Join(",", rowsGroup.Select(av => av["pkts"].ToString()).ToList())
};
group dr by new { source = dr["saddr"] } into rowsGroup
select new
{
saddr = rowsGroup.Key,
value = rowsGroup,
daddr = rowsGroup.Count(),
dport = string.Join(",", rowsGroup.Select(av => av["dport"].ToString()).ToList()),
dstip = string.Join(",", rowsGroup.Select(aj => aj["CDaddr"].ToString()).ToList()),
duration = string.Join(",", rowsGroup.Select(av => av["dur"].ToString()).ToList()),
bytes = string.Join(",", rowsGroup.Select(av => av["bytes"].ToString()).ToList()),
pkt = string.Join(",", rowsGroup.Select(av => av["pkts"].ToString()).ToList())
};
VulpesPosted Oct 24, 2014, 2:38 PM
var qry = from dr in dt.AsEnumerable()
diamond diamondPosted Oct 24, 2014, 1:39 PM
Thanks for your replies. But none of them do not work.
Ramesh MaruthiPosted Oct 24, 2014, 1:04 PM
I agree with Rasmita mam, but before you do that just make it sure to convert to an int
duration =
(int) string.Join(",", rowsGroup.Select(av=>av["dur"].ToString()).ToList()).Average();,
Rasmita DashPosted Oct 24, 2014, 6:38 AM
string.Join(",", rowsGroup.Select(av => av["dur"].ToString()).ToList()).Average();
will do, if "dur" has a numeric value.