【发布时间】:2020-04-09 18:51:26
【问题描述】:
我正在尝试重构一些数据以显示一些图表。
我似乎无法弄清楚为什么要使用以下内容,它会在顶部列出所有值,而不是像源数据那样按顺序排列。
var categories = VehicleSales.Select(v => v.name).Distinct().ToList();
var refactoredResults = new List<StackedColumnChart>();
foreach (var category in categories)
{
var subresult = VehicleSales.Where(x => x.vehicleType == category)
.GroupBy(x => x.vehicleType)
.Select(gcs => new StackedColumnChart
{
Category = category,
Values = gcs.Select(x => (int)x.data).DefaultIfEmpty(0).ToList()
}).ToList();
refactoredResults.AddRange(subresult);
}
源数据:
那么实际结果和预期结果:
提前致谢!
【问题讨论】:
-
您的源数据实际上是按 WeekNumber 排序的,还是仅以这种方式排序以在 Excel 中显示在您的屏幕截图中?您是否需要在 linq 查询中添加排序步骤以确保此类排序?