Интересная особенность на которую можно напороться при реальной работе.



При подсчете продаж на одного покупателя Павел использовал формулу SUM([Sales])/COUNTD([User_ID]). Если посмотреть на график по месяцам, то в среднем получается значение около 500$. Но в фактойде — 912$. Так поучается из-за повторных покупателей — когда берем данные за год, то они учитываются только один раз при использовании функции COUNTD() → значение за год получается больше чем в среднем по месяцам.



У меня формула для подсчета данных за год такая: WINDOW_AVG(SUM([Sales])/COUNTD([User_ID]),LAST()-11,LAST()). При этом, так как в виде есть разбивка по месяцам, сначала считаются продажи на одного клиента в месяц и затем уже рассчитывается среднее между всеми месяцами. Такой подход хорош тем, что можно сравнивать значение за каждый месяц со средним по году. Но тут конечно надо утверждать у бизнеса, что именно они хотят видеть и не забывать про эту особенность расчета неаддитивных данных при работе.