我有DTgraph
数据表,我想对Campaign
列上的行进行分组,并对Inb.ServiceLevel
列进行求和。
我试过了:
var result = from row in DTgraph.AsEnumerable()
group row by row.Field<string>("Campaign") into grp
select new
{
TeamID = grp.Key,
MemberCount = grp.Count(),
s = grp.Sum(s => s."Inb.ServiceLevel")
};
everthing工作正常,但代码中的最后一行是s = grp.Sum(s => s."Inb.ServiceLevel")
,它给我编译错误。
我应该怎么做才能得到这笔款项?
complie错误是Identifier expected
。它显示在Ibn.ServiceLevel
答案 0 :(得分:1)
使用Field代替,我假设In.Service Level的类型为int
var result = from row in DTgraph.AsEnumerable()
group row by row.Field<string>("Campaign") into grp
select new
{
TeamID = grp.Key,
MemberCount = grp.Count(),
s = grp.Sum(s => s.Field<int>("Inb.ServiceLevel"))
};
答案 1 :(得分:1)
试试这个:
s = grp.Sum(s => float.Parse(s.Field<string>("Inb.ServiceLevel")))
但是使用浮动可能会失去精确度。
为确保转化率不降,您可以使用float.TryParse
'