Предположим, у нас есть следующая таблица («Покупки»):
Date Units_Sold Brand Year
18/03/2010 5 A 2010
12/04/2010 2 A 2010
22/05/2010 1 A 2010
25/05/2010 7 A 2010
11/08/2011 5 A 2011
12/07/2010 2 B 2010
22/10/2010 1 B 2010
05/05/2011 7 B 2011
И та же логика продолжается до конца 2014 года для разных брендов.
Что я хочу сделать, так это подсчитать количество проданных единиц для каждого бренда в каждом году. Однако я хочу делать это не для календарного года, а для фактического года.
Итак, пример того, что я не хочу:
proc sql;
create table Dont_Want as
select Year, Brand, sum(Units_Sold) as Unit_per_Year
from Purchases
group by Year, Brand;
quit;
Приведенная выше логика в порядке, если мы знаем, что, например. Бренд «А» существует на протяжении всего 2010 года. Но если Бренд «А» впервые появился 18.03.2010 и существует до сих пор, то сравнение 2010 и 2011 годов будет не совсем корректным, так как для 2010 года мы "не хватает" 3 месяцев.
Итак, я хочу рассчитать:
для А: сумма с 18.03.2010 по 17.03.2011, затем с 18.03.2011 по 17.03.2012 и т.д.
для Б: сумма с 07.12.2010 по 07.11.2011 и т.д.
и так далее для всех брендов.
Есть ли умный способ сделать это?