Wednesday, 19 February 2020

C# - Pivot Data Using LINQ

CustID
 OrderDate
 Qty
1
 1/1/2008 
100
2
 1/2/2008 
200
1
 2/2/2008 
350
2
 2/28/2008
221
1
 3/12/2008
250
2
 3/15/2008
2150
Output Table :

CustID 
 Jan- 2008
 Feb- 2008
 Mar - 2008
1
100
350
250
2
200
221
2150


List<CustData> myList = GetCustData();

var query = myList
    .GroupBy(c => c.CustId)
    .Select(g => new {
        CustId = g.Key,
        Jan = g.Where(c => c.OrderDate.Month == 1).Sum(c => c.Qty),
        Feb = g.Where(c => c.OrderDate.Month == 2).Sum(c => c.Qty),
        March = g.Where(c => c.OrderDate.Month == 3).Sum(c => c.Qty)
    });


No comments:

Post a Comment