public static System.Collections.IList ExpensesCrossTabList()
 {
     return(ExpenseDataSource
            .ExpensesDataSource()
            .GroupBy(t =>
                     new
     {
         Year = t.Date.Year,
         Month = t.Date.Month
     })
            .Select(myGroup =>
                    new
     {
         Year = myGroup.Key.Year,
         Month = myGroup.Key.Month,
         ComputerDepartment = myGroup.Where(x => x.Department == "Computer").Sum(x => x.Expenses),
         MathDepartment = myGroup.Where(x => x.Department == "Math").Sum(x => x.Expenses),
         PhysicsDepartment = myGroup.Where(x => x.Department == "Physics").Sum(x => x.Expenses),
         Total = myGroup.Sum(x => x.Expenses)
     })
            .ToList());
 }