Я пытаюсь использовать Linq для поворота таблицы данных. Просматривая ответы здесь и несколько других источников, я думаю, мне удалось пройти большую часть пути, но у меня возникли небольшие проблемы с завершением запроса (полностью из-за моего непонимания Linq, однако я В настоящее время нахожусь в напряженном графике). Таблицы данных следующие:
ИСТОЧНИК:
Name |ItemCode|Rank
----------------------------
-1 |blah1 |1
-1 |blah2 |2
-1 |blah3 |3
-1 |blah4 |4
*PLACEHOLDER*|blah2 |7
*PLACEHOLDER*|blah1 |22
желаемый выход:
ItemCode |companyWide|myGroup
----------------------------
blah1 |1 |22
blah2 |2 |7
blah3 |3 |
blah4 |4 |
Код, который у меня сейчас есть:
var temp = reportDataTable.AsEnumerable()
.GroupBy(a => a["ItemCode"]).Select(b => new{ItemCode = b.Key,
companyWide = b.Where(a => (string)a["Name"] == "-1").Select(a => a["Rank"]),
myGroup = b.Where(a => (string)a["Name"] == "*PLACEHOLDER*").Select(a => a["Rank"]) }) ;
Группировка по ItemCode работает, но я предполагаю, что мой синтаксис неверен при заполнении двух других столбцов. Любая помощь с этим будет принята с благодарностью.