我有一个看起来像这样的数据表
基本上我希望它按列 featurename(distinct) 进行分组,其中它应该在工作量和完整列中求和
指定所有 featureid,featurename 以逗号分隔
count of the featureid
分配给comman分隔
现在我希望数据表看起来像这样
不知道怎么用计数
代码
var result5= dtTaskandBugs.AsEnumerable().GroupBy(x => x["Functional Area"])
.Select(item => new
{
FunctionalArea = item.Key,
Completedsum = item.Sum(y => Convert.ToDecimal(y["Completed"])),
effortsum = item.Sum(z => Convert.ToDecimal(z["effort"])),
storyids = string.Join(",", item.Select(a => a["Storyid"]).Distinct()),
storiesename= string.Join(",", item.Select(b => b["StoryName"]).Distinct()),
Featureid = string.Join(",", item.Select(c => c["Featureid"]).Distinct()),
Featurename= string.Join(",", item.Select(d => d["FeatureName"]).Distinct()),
});
最佳答案
使用 Count()
您将获得分组值的计数。
尝试像这样使用 Linq
:
from s in dtTaskandBugs.AsEnumerable()
group s by s.Field<string>("Functional Area")
into grp
orderby grp.Key
select new {
FunctionalArea = grp.Key,
Completedsum = grp.Sum(y => Convert.ToDecimal(y["Completed"])),
effortsum = grp.Sum(z => Convert.ToDecimal(z["effort"])),
storyids = string.Join(",", grp.Select(a => a["Storyid"]).Distinct()),
storiesename= string.Join(",", grp.Select(b => b["StoryName"]).Distinct()),
Featureid = string.Join(",", grp.Select(c => c["Featureid"]).Distinct()),
Featurename= string.Join(",", grp.Select(d => d["FeatureName"]).Distinct()),
Count = grp.Count() // <----------------
};
关于c# - 如何在 C# 中将 Linq count 与 group by 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52032141/