在数据表上求和

本文关键字:求和 数据表 | 更新日期: 2023-09-27 17:58:16

我有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")
             };

除了代码中的最后一行s = grp.Sum(s => s."Inb.ServiceLevel")之外,其他一切都很好,它给了我复杂的错误。

请问我该怎么做才能算这笔钱?

编辑

compile错误为Identifier expected。它显示在Ibn.ServiceLevel

在数据表上求和

试试这个:

s = grp.Sum(s => float.Parse(s.Field<string>("Inb.ServiceLevel")))

但是使用浮点运算可能会失去精度。为了确保转换不会下降,您可以使用float.TryParse

使用字段,我假设Inb.ServiceLevel的类型为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"))
                     };