我有以下格式的记录,我想使用 linq 进行数据透视,您能帮我了解如何使用 Linq 进行数据透视吗?
问问题
990 次
1 回答
1
我会尝试这样的事情:
var userIds = table.Select(row => row.userid).Distinct();
var checkTimes = table.Select(row => row.CheckTime).Distinct();
var pivotTable =
from userid in userIds
select new {
userid,
attflags = checkTimes.Select(checkTime =>
table.Where(row => row.userid == userid && row.CheckTime == checkTime)
.Select(row => row.attflag)
.DefaultIfEmpty("-")
.FirstOrDefault())
};
Console.WriteLine("userid\t" + String.Join("\t", checkTimes));
foreach (var pivotRow in pivotTable)
Console.WriteLine(pivotRow.userid + "\t" + String.Join("\t", pivotRow.attflags));
于 2013-07-29T15:22:38.323 回答