У меня есть таблица, организованная по пользователю и месяцу. Я хотел бы выяснить, какова средняя «тенденция» между месяцами подряд. Тем не менее, история каждого пользователя начинается и заканчивается в разные месяцы. Итак, чтобы получить точную картину, мне нужно смотреть только последовательные, ненулевые месяцы для каждого пользователя. Какой самый простой способ сделать это?

В качестве быстрого примера таблица выглядит примерно так:

0 0 0 0 0 1 2 5 3 5 4 1 1 0 0 
0 4 0 4 0 3 4 4 3 0 0 0 0 0 0 
0 3 3 3 1 1 1 3 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 3 3 4 5 
0 2 2 2 0 0 0 4 5 4 4 6 5 3 0 

Вывод немного сложнее, потому что я в конечном итоге ищу что-то, что показывает, насколько выше или ниже значение в последние месяцы по сравнению с предыдущими. Так, например, это будет что-то вроде:

Avg(Last Half of Set = {1 2 5 3}) / Avg(First Half of Set = {5 4 1 1}) for each set. 

В некоторых случаях, например во второй строке, может быть несколько наборов, некоторые из которых будут одиночными {4}, так как пользователь неактивен между 2 и 4 месяцами.

0