У меня есть набор данных, который выглядит следующим образом:
Option | Year | Month | Value
-------+------+-------+------
1 | 2011 | 12 | 0
-------+------+-------+------
1 | 2011 | 11 | 1
-------+------+-------+------
2 | 2012 | 6 | 0
-------+------+-------+------
2 | 2012 | 7 | 0
-------+------+-------+------
1 | 2011 | 6 | 2
Ниже показан набор результатов, который я ищу:
Option | Year | ChangedCount
-------+------+-------------
1 | 2011 | 3
-------+------+-------------
2 | 2012 | 0
-------+------+-------------
Измененный счет представляет, если значение изменилось в том же году между разными месяцами. скажем, если значение 06 месяцев было 2, а затем 07 изменилось на 1, то измененное количество будет равно 1. Если значение в течение двух месяцев остается неизменным, то значение changeCount равно 0
Вот что я написал до сих пор
var changes = from ord in resultSet
group ord by new
{
ord.Year,
ord.Month,
ord.Option,
ord.Value,
}
into g
select new
{
Year = g.Key.Year,
changed = g.Count(x => x.Value == 0)
+ g.Count(x => x.Value == 1)
+ g.Count(x => x.Value == 2)
};
Как выполнить сравнение для предыдущего значения в столбце?
{0,1,2} Карта значений ENUM