【发布时间】:2016-05-31 20:18:32
【问题描述】:
我需要计算几个不同列的出现次数。例如我的数据表列如下,它们只是字符串和日期类型
[Case___], [Status],[Summary] ,[Description],
[assigned_group], [Assigned_Individual], [Alert_Status],
[Date_Time_Created], [Date_Time_Resolved] ,
[Date_Time_Closed] ,[Data_Output_Type]
对于每个 ****Assigned_Individual** 我需要计算
此人状态已解决的次数||关闭,
此人出现Alert_Status = 'SLA Alert' AND Status 'Resolved' AND Status 'Closed'
的次数此人Alert_Status = 'SLA Missed' AND Data_Output_Type = 'Active Tickets'
的次数我的目标是返回带有如下记录的 DataTable 或 List
Assigned_Indivual - 已解决 - SLA 警报 - SLA 未命中
鲍勃, 5, 1, 4 玛丽,2,1,3 阿什利,7,0,3
我现在只是在寻找方向,因为我知道我可能需要使用 LINQ,我什至无法理解这样做的方法。
提前感谢 Stack Oracles!
我能够获得一个人拥有状态 == “已解决” || 的次数Status == "Closed" 使用下面的代码
var groupedData = from b in dt.AsEnumerable()
where b.Field<string>("Status") == "Resolved" || b.Field<string>("Status") == "Closed"
group b by new
{
Assigned_Individual = b.Field<string>("Assigned_Individual"),
Status = b.Field<string>("Status"),
assigned_group = b.Field<string>("assigned_group")
}
into g
let Counter = g.Count()
select new
{
Assigned_Individual = g.Key.Assigned_Individual,
Status = g.Key.Status,
assigned_group = g.Key.assigned_group,
Count = Counter
};
返回一个计数,例如 bob, 5 OR Mary, 2 但我需要知道如何在不使用 where 条件的情况下执行此操作,以便我可以计算上面列出的 3 个条件。
【问题讨论】:
-
这些列只出现一次.. 根据您发布的内容.. 您是否正在寻找声明这些条件的
Rows的数量..?关于您想要返回的内容,这是一件非常简单的事情,您能否也向我们展示您自己尝试过的内容与期望有人完成工作/给您答案... -
绝对,我能够使用下面的代码获得第一个条件。这将返回状态为 == "已解决" || 的次数“关闭”
-
那么你应该可以做剩下的了..不确定问题是什么..
-
我在上面已经解释得更深入了,如果不清楚,请见谅