У меня есть набор бизнес-данных на основе подписки, который выглядит следующим образом:
Company RenewalDate Year Month Metrics Sales
ABC 201710 2017 09 ... 100,000
DEF 201802 2017 09 ... 43,000
GHI 201807 2017 09 ... 200,000
ABC 201810 2017 10 ... 90,000
DEF 201702 2017 10 ... 43,000
GHI 201707 2017 10 ... 200,000
ABC 201710 2017 11 ... 90,000
DEF 201702 2017 11 ... 43,000
GHI 201707 2017 11 ... 200,000
и т. Д., Существует около 10 тыс. Учетных записей, и я использую их данные в месяц в течение последних 5 лет.
Здесь RenewalDate представляет месяц, в котором каждый год происходит продление для этой учетной записи. Год и месяц представляет агрегированные параметры использования в этом году и месяце, метрики использования состоит из таких параметров, как сеансы, контент, регион, продукты и т. Д., И в столбце «Продажи» указывается продажа, совершенная ввремя продления месяца.
Вот сложная часть, я хочу агрегировать данные для пользовательских метрик всех учетных записей за последние 12 месяцев с даты их обновления на ежемесячной основе, но данные должны состоять только из метрик изпоследние 12 месяцев до последней обновленной даты для этого аккаунта.Например, ABC имеет дату обновления в 2017-10, а позволяет предположить, что текущая дата - 2017-09.Поэтому я хочу объединить данные метрик за последние 12 месяцев ABC, начиная с 2016-09 по 2017-09 годы, а для других счетов, кроме ABC, агрегированные данные должны быть получены с даты их обновления, например, DEF должен иметь их с 2016-С 01 по 2017-01 (поскольку 2018-01 не пришел, так как предполагаемая текущая дата - 2017-09), а для GHI - с 2016-07 по 2017-07 и так далее.Если перейти к текущему году, год и месяц будут 2019-02, поэтому данные за этот месяц должны состоять из следующих элементов:
ABC should have aggregated data from 2017-10 to 2018-10
DEF should have aggregated data from 2017-02 to 2018-02 ( as we still dont have full data for Feb)
GHI should have data from 2017-07 to 2018-07
Следующий месяц:
ABC should have aggregated data from 2017-10 to 2018-10
DEF should have aggregated data from 2018-02 to 2019-02
GHI should have data from 2017-07 to 2018-07
и т. Д..
Я хочу автоматизировать этот процесс.Как я могу создать набор правил, которые могут автоматически генерировать это на основе текущего месяца.Кроме того, как видно, у ABC была потеря дохода, она составила от 100 000 до 90 000, поэтому я хочу пометить такие учетные записи как "1".