Я оцениваю Superset и хочу попытаться понять, возможно ли это и как получить разные уровни агрегации для одного и того же набора данных. Я работаю с банковскими счетами. Я делаю ежедневные снимки баланса счетов, поэтому у меня есть таблица со следующей структурой (очень упрощенной):
account_id date balance week
1 2018-01-01 $5.00 1
1 2018-01-02 $10.00 1
1 2018-01-03 $10.00 1
1 2018-01-04 $10.00 1
1 2018-01-05 $10.00 1
1 2018-01-06 $10.00 1
1 2018-01-07 $10.00 2
1 2018-01-08 $10.00 2
1 2018-01-09 $10.00 2
1 2018-01-10 $10.00 2
1 2018-01-11 $20.00 2
1 2018-01-12 $20.00 2
1 2018-01-13 $20.00 2
1 2018-01-14 $20.00 3
2 2018-01-09 $70.00 2
2 2018-01-10 $70.00 2
2 2018-01-11 $70.00 2
2 2018-01-12 $70.00 2
2 2018-01-13 $5.00 2
2 2018-01-14 $5.00 3
Во-первых, мне нужно рассчитать общий баланс за день. Это довольно просто. Я могу построить срез, используя дату в качестве столбца времени и метрику SUM баланса. Используя приведенный выше пример данных, результаты должны быть:
date total balance week
2018-01-01 $5.00 1
2018-01-02 $10.00 1
2018-01-03 $10.00 1
2018-01-04 $10.00 1
2018-01-05 $10.00 1
2018-01-06 $10.00 1
2018-01-07 $10.00 2
2018-01-08 $10.00 2
2018-01-09 $80.00 2
2018-01-10 $80.00 2
2018-01-11 $90.00 2
2018-01-12 $90.00 2
2018-01-13 $25.00 2
2018-01-14 $25.00 3
Затем мне нужно рассчитать средний баланс за неделю для каждой учетной записи. Это тоже легко, потому что я могу использовать AVG в качестве показателя:
week average_balance_per_account
1 $9.17
2 $32.08
3 $12.50
Но после этого я хочу посчитать средний общий баланс за неделю. Это средний дневной общий баланс. В этом примере:
week average_balance expression
1 $9.17 = (5+10+10+10+10+10)/6
2 $55.00 = (10+10+(10+70)+(10+70)+(20+70)+(20+70)+(20+5))/7
3 $25.00 = ((20+5))/1
Есть ли способ рассчитать этот последний отчет, используя ту же таблицу, которая была определена ранее?