У меня есть таблица, организованная по пользователю и месяцу. Я хотел бы выяснить, какова средняя «тенденция» между месяцами подряд. Тем не менее, история каждого пользователя начинается и заканчивается в разные месяцы. Итак, чтобы получить точную картину, мне нужно смотреть только последовательные, ненулевые месяцы для каждого пользователя. Какой самый простой способ сделать это?
В качестве быстрого примера таблица выглядит примерно так:
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 месяцами.