我的原始數據是這樣的:嵌套的字典:按日期組,然後按組枚舉值和彙總計數
IDictionary<DateTime, IDictionary<ReportType, int>> rawData
例子:
19/09/2017, [(ReportType.Open, 2)]
25/09/2017, [(ReportType.Open, 15), (ReportType.Sent, 15)]
25/10/2017, [(ReportType.Open, 27), (ReportType.Sent, 15)]
29/10/2017, [(ReportType.Sent, 150)]
我想達到以下結果:
data for open:
september-2017: 17
october-2017: 27
data for sent:
september-2017: 15
october-2017: 165
-----------------------------
我試圖
var openData = rawData
.Select(g => new {
dt = string.Format("{0}/{1}", g.Key.Month, g.Key.Year),
g.Key.Year,
g.Key.Month,
action = g.Value.FirstOrDefault().Key,
total = g.Value.Values.Sum()
})
.GroupBy(l => new {
l.Month,
l.Year,
action = l.action
})
.Where(a => a.Key.action == ReportType.Open)
.OrderByDescending(a => a.Key)
.ToList();
我在做什麼錯?
打印部(series1
從Series
類派生):
foreach (var item in openData)
{
series1.Points.Add(new DataPoint()
{
YValues = new double[] { item.total },
AxisLabel = item.dt.ToString(),
ToolTip = item.total.ToString()
});
}
嘿,感謝您的回答,請參閱約佔總數的總和我的編輯 –