私は次の表を持っています
Date GRP Open
1/1/2011 A 2
1/1/2011 B 3
2/2/2011 C 5
グループ列は、「A + B= Y and C consititute Z」という名前のグループの一部です。
Date と GRP でグループ化された Open の合計がそれぞれ列として必要です
Date Y Z
1/1/2011 5 0
2/2/2011 0 5
以下は私が試したコードです
List<string> Y = new List<string>() { "A", "B" };
List<string> C = new List<string>() { "Z" };
from item in temp group item by new { RD = item.Field<DateTime>("date"),
Group=
(Y.Contains(item.Field<string>("GRP")) ? "Y" :
C.Contains(item.Field<string>"GRP")) ? "Z" :
}
into grptbl
select new
{
RD = grptbl.Key.RD,
A=grptbl.Where(x=>x.Field<string>("Group")=="Y").Sum(x=>x.Field<Int64>("Open"))
,
Z= grptbl.Where(x=>x.Field<string>("Group")=="Z").Sum (x=>x.Field<Int64>("Open")) };
良さそうですが、 select 句の grptable に「グループ」列が存在しないと不平を言っています