По работе надо сделать статистику по пробегу автомобилей.
Суть такая: Хотят видеть количество пройденных километров по месяцам, за пол года и так далее... Но проблема в том, что пробег фиксируется во время заправок и, соответственно, данные получаются не очень удобными.
То есть, допустим, первая дата была 11.01, потом 23.01, а далее только в феврале - 13.02. Как из этих данных вытащить пробег за январь? Я понимаю, что нормально получить пробег из этого не получится, но надо сделать максимально точно. Может есть какая-то формула? Что посоветуете?
пробег фиксируется во время заправок
[skipped]
первая дата была 11.01, потом 23.01, а далее только в феврале - 13.02.
Хренассе - две-три недели между заправками! Это что, километров по 30 в день пробег, что ли? Впрочем, главный вопрос - пробег более-менее по дням равномерный, или неделю стоим, потом 300 вёрст пробега, и опять неделю стоим?
Для правильного вопроса надо знать половину ответа
Интерполировать. Как именно - зависит от того, как используются автомобили.
Если предположить, что пробег каждый день одинаковый, то берём общий пробег за интервал и делим на кличество дней в интервале. Затем либо сохраняем полученный средний пробег для каждого дня интервала, либо вычисляем пробег на конец месяца и сохраняем помесячно.
Если, например, весь пробег только в будни, то, соответственно, вычисляем количество рабочих дней в интервале и делим на него. При раскидывании по дням, опять же, записываем нулевой пробег в выходные и средний в будни.
То есть оптимально будет выводить среднее? Брать период между крайними точками, вычислять среднее за период, потом таким образом вычислить средний пробег за месяц - от левой крайней точки до конца месяца. Я правильно думаю?
Что оптимально для вашей задачи - вам виднее.
Можно вообще ничего не интерполировать, а считать только фактически известные на конкретную дату значения: тот хвостик, который был не учтен в январе в среднем компенсируется засчитанным в январь хвостиком от декабря.
Можно предположить, что между заправками пробег равномерный и интерполировать. Можно даже экстраполировать на текущую дату (пока нет данных о пробеге) данные из предыдущего интервала.
Но все это будут нафантазированные данные: в условиях ограниченности входных вы других не получите. Для того, чтоб графики красивее смотрелись - пойдет. Для отчётов - нет.
runapa, В первом приближении так. Но если хотите точнее, то надо смотреть конкретный режим передвижения автомобилей. Может быть и так, что они ездят раз в две недели и заправляются перед поездкой, а всё остальное время стоят в гараже.
Вообще, лучше всего оснастить автомобили GPS-трекерами. Тогда получите более-менее реальные пробеги.