var PAS =
(from v in dc.PAS
where
days.Contains(Convert.ToDateTime(v.fecha))
group v.valor by new { v.entidad_id, v.modulo_id, v.peticion_id, v.hora_id, v.dia_id } into hg
orderby hg.Key.entidad_id descending, hg.Key.peticion_id ascending, hg.Key.hora_id descending
select new
{
Hora = hg.Key.hora_id,
Dia = hg.Key.dia_id,
Entidad = hg.Key.entidad_id,
Modulo = hg.Key.modulo_id,
Peticion = hg.Key.peticion_id,
Media = Math.Round(System.Convert.ToDouble(hg.Average()), 3, MidpointRounding.AwayFromZero)
};
次に foreach を実行し、各結果の新しい行をこの新しい値を持つ別のテーブルに挿入します... (バルクできないため、少なくとも LINQ での方法はわかりません)
3 つのv.peticion_id
可能な値があります... 2 つの ' ' 列を取得したいのですがMedia
、1 つは実際のメディアで、もう 1 つはv.peticion_id = 0
値だけです... うまく説明できないので、取得したいものの例を次に示します。 ..
Hora | Dia | Entidad | Modulo | Peticion | Media | Media2
0 0 0 0 0 333.3 | 333.3
0 0 0 0 1 4.4 | 333.3
0 0 0 0 2 0.7 | 333.3
1 0 0 0 0 178.2 | 178.2
1 0 0 0 1 1.8 | 178.2
1 0 0 0 2 0 | 178.2
誰かが私を助けてくれることを願っています..