У меня есть вопрос о степени удержания.
У меня есть 2 таблицы, включая данные клиента и данные заказа.
DISTRIBUTOR as d
+---------+-----------+--------------+--------------------+
| ID | SETUP_DT | REINSTATE_DT | LOCAL_REINSTATE_DT |
+---------+-----------+--------------+--------------------+
| C111111 | 2018/1/1 | Null | Null |
| C111112 | 2015/12/9 | 2018/10/25 | 2018/10/25 |
| C111113 | 2018/10/1 | Null | Null |
| C111114 | 2018/10/6 | 2018/12/14 | 2018/12/14 |
+---------+-----------+--------------+--------------------+
ORDER as o, please noted that the data is for reference...
+---------+----------+-----+
| ID | ORD_DT | OAL |
+---------+----------+-----+
| C111111 | 2018/1/1 | 112 |
| C111111 | 2018/1/1 | 100 |
| C111111 | 2018/1/1 | 472 |
| C111111 | 2018/1/1 | 452 |
| C111111 | 2018/1/1 | 248 |
| C111111 | 2018/1/1 | 996 |
+---------+----------+-----+
The 3rd Table in my mind to create the retention rate report
+---------+-----------+-----------+---------------+-----------+
| ID | APP_MON | ORDER_MON | TimeDiff(Mon) | TTL AMT |
+---------+-----------+-----------+---------------+-----------+
| C111111 | 2018/1/1 | 2018/1/1 | - | 25,443 |
| C111111 | 2018/1/1 | 2018/2/1 | 1 | 7,610 |
| C111111 | 2018/1/1 | 2018/3/1 | 2 | 20,180 |
| C111111 | 2018/1/1 | 2018/4/1 | 3 | 22,265 |
| C111111 | 2018/1/1 | 2018/5/1 | 4 | 34,118 |
| C111111 | 2018/1/1 | 2018/6/1 | 5 | 19,523 |
| C111111 | 2018/1/1 | 2018/7/1 | 6 | 20,220 |
| C111111 | 2018/1/1 | 2018/8/1 | 7 | 2,006 |
| C111111 | 2018/1/1 | 2018/9/1 | 8 | 15,813 |
| C111111 | 2018/1/1 | 2018/10/1 | 9 | 16,733 |
| C111111 | 2018/1/1 | 2018/11/1 | 10 | 20,973 |
| C111112 | 2018/10/1 | 2017/11/1 | - | 516 |
| C111112 | 2018/10/1 | 2018/10/1 | - | 1 |
| C111113 | 2018/10/1 | Null | - | Null |
| C111114 | 2018/12/1 | Null | - | Null |
+---------+-----------+-----------+---------------+-----------+
Definition:
- APP_MON: the month that the customer joined, which is the max date from the start date of [d.SETUP_DT], [d.REINSTATE_DT] and [d.LOCAL_REINSTATE_DT]
- ORD_MON: the month that the customer purchased, which is the start date of the order date month
- TimeDiff: The duration by month between APP_MON and ORD_MON, e.g. if A's ODR_MON is 2018/1/1 and A'S APP_MON is 2018/2/1, the duration is 1.
- TTL_AMT: the total order amount that the customer bought in the related order date month
Что я действительно хочу, так это удержаниеотчет ниже, а ось x - это TimeDiff ...
+-----------+-----+------------+--------------+------+------+------+------+------+------+------+------+------+------+----+----+
| APP_MON | New | New Active | New Active % | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
+-----------+-----+------------+--------------+------+------+------+------+------+------+------+------+------+------+----+----+
| 2018/1/1 | 1 | 1 | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 0% | 0% |
| 2018/2/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | |
| 2018/3/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | | |
| 2018/4/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | | | |
| 2018/5/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | | | | |
| 2018/6/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | 0% | | | | | |
| 2018/7/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | 0% | | | | | | |
| 2018/8/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | 0% | | | | | | | |
| 2018/9/1 | 0 | 0 | - | 0% | 0% | 0% | 0% | | | | | | | | |
| 2018/10/1 | 2 | 1 | 50% | 0% | 0% | 0% | | | | | | | | | |
| 2018/11/1 | 0 | 0 | - | 0% | 0% | | | | | | | | | | |
| 2018/12/1 | 1 | 0 | 0% | 0% | | | | | | | | | | | |
+-----------+-----+------------+--------------+------+------+------+------+------+------+------+------+------+------+----+----+
Я понятия не имею, как получить отчет о сохранении данных.Мне действительно нужна третья таблица, чтобы получить отчет об удержании?Должен ли я сделать это в SQL, или вытащить данные и сделать это в Tableau или использовать другие языки?Какой способ более эффективен?Кто-нибудь может помочь?Благодаря.