У меня есть приложение для анкеты, которое я создаю для одной из наших команд, и у меня возникла проблема с составлением отчета так, как он хотел бы (если это вообще возможно). Что у меня сейчас есть:
var completedSurveys = (from s in db.SurveyResponses
join d in db.Demographics on s.SurveyID equals d.SurveyID into grpjoin
from d in grpjoin.DefaultIfEmpty()
select new
{
Survey_ID = s.SurveyID,
Survey_Date = s.Survey.SurveyDate,
Question = s.Questions.QuestionTxt,
Response = s.Responses.ResponseTxt,
Zip_Code = d.ZipCode,
Department = d.CityDepartments.Department,
Ace_Score = s.Survey.AceScore,
}).ToList();
, который после выполнения кода gridview / excel выдает:
Мой текущий лист Excel
и что они хотели бы, так это лист Excel, в котором заголовки столбцов содержат Вопросы, а также SurveyID, Date, Zip, Department & Score с ответами на вопросы в виде данных строк, которые отображают все только один раз. Что-то вроде этого листа Excel я получил откуда-то еще:
Пример
Я пробовал несколько разных групп, например:
var completedSurveys = (from s in db.SurveyResponses
join d in db.Demographics on s.SurveyID equals d.SurveyID into grpjoin
from d in grpjoin.DefaultIfEmpty()
group new {s.Questions.QuestionTxt, s.Survey.SurveyDate } by new { s.SurveyID, s.Responses.ResponseTxt, d.ZipCode, d.CityDepartments.Department, s.Survey.AceScore } into g
orderby g.Key.SurveyID ascending
select new
{
Survey_ID = g.Key.SurveyID,
Survey_Date = g.Select(s => s.SurveyDate),
Response = g.Key.ResponseTxt,
Zip = g.Key.ZipCode,
Department = g.Key.Department,
Ace_Score = g.Key.AceScore
}).ToList();
но я все еще не совсем понимаю, чего хочу. Если я должен сказать им, что то, что у меня уже есть, так же хорошо, как и получается, тогда это нормально, но я подумал, что по крайней мере обращусь за советом. Любая помощь будет оценена.
Спасибо