Fixing query and logic used to build the report. The values in the columns where not matching.
parent
7ffc36ef35
commit
e53d3ccf41
|
@ -225,14 +225,14 @@ class AccountRepository(RepositoryBase):
|
|||
}, {
|
||||
'type': 'Free Account',
|
||||
'current': report_1_day['free_total'],
|
||||
'oneDay': report_1_day['free_total'] - report_1_day['free_new'],
|
||||
'oneDayDelta': report_1_day['free_new'],
|
||||
'oneDay': report_1_day['free_total'] - report_1_day['total_new'] + report_1_day['paid_new'],
|
||||
'oneDayDelta': report_1_day['total_new'] - report_1_day['paid_new'],
|
||||
'oneDayMinus': 0,
|
||||
'fifteenDays': report_15_days['free_total'] - report_15_days['free_new'],
|
||||
'fifteenDaysDelta': report_15_days['free_new'],
|
||||
'fifteenDays': report_15_days['free_total'] - report_15_days['total_new'] + report_15_days['paid_new'],
|
||||
'fifteenDaysDelta': report_15_days['total_new'] - report_15_days['paid_new'],
|
||||
'fifteenDaysMinus': 0,
|
||||
'thirtyDays': report_30_days['free_total'] - report_30_days['free_new'],
|
||||
'thirtyDaysDelta': report_30_days['free_new'],
|
||||
'thirtyDays': report_30_days['free_total'] - report_30_days['total_new'] + report_30_days['paid_new'],
|
||||
'thirtyDaysDelta': report_30_days['total_new'] - report_30_days['paid_new'],
|
||||
'thirtyDaysMinus': 0
|
||||
}, {
|
||||
'type': 'Monthly Account',
|
||||
|
|
|
@ -2,16 +2,15 @@ SELECT
|
|||
COUNT(acc) AS total,
|
||||
COUNT(acc) FILTER(WHERE acc.insert_ts::DATE >= (CURRENT_DATE - INTERVAL %(start)s)) AS total_new,
|
||||
COUNT(acc) FILTER(WHERE acc_mem.account_id IS NULL) as free_total,
|
||||
COUNT(acc) FILTER(WHERE acc_mem.account_id IS NULL AND (acc.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s) OR UPPER(acc_mem.membership_ts_range) IS NOT NULL)) as free_new,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'month' AND UPPER(acc_mem.membership_ts_range) IS NULL) AS monthly_total,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'month' AND UPPER(acc_mem.membership_ts_range) IS NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) AS monthly_new,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'month' AND UPPER(acc_mem.membership_ts_range) IS NOT NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) AS monthly_minus,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'month' AND UPPER(acc_mem.membership_ts_range) IS NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) AS monthly_new,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'month' AND UPPER(acc_mem.membership_ts_range) IS NOT NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) AS monthly_minus,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'year' AND UPPER(acc_mem.membership_ts_range) IS NULL) AS yearly_total,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'year' AND UPPER(acc_mem.membership_ts_range) IS NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) AS yearly_new,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'year' AND UPPER(acc_mem.membership_ts_range) IS NOT NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) as yearly_minus,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'year' AND UPPER(acc_mem.membership_ts_range) IS NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) AS yearly_new,
|
||||
COUNT(mem) FILTER(WHERE mem.rate_period = 'year' AND UPPER(acc_mem.membership_ts_range) IS NOT NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) as yearly_minus,
|
||||
COUNT(acc_mem) AS paid_total,
|
||||
COUNT(acc_mem) FILTER(WHERE UPPER(acc_mem.membership_ts_range) IS NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) AS paid_new,
|
||||
COUNT(acc_mem) FILTER(WHERE UPPER(acc_mem.membership_ts_range) IS NOT NULL AND acc_mem.insert_ts >= (CURRENT_DATE - INTERVAL %(start)s)) AS paid_minus
|
||||
COUNT(acc_mem) FILTER(WHERE UPPER(acc_mem.membership_ts_range) IS NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) AS paid_new,
|
||||
COUNT(acc_mem) FILTER(WHERE UPPER(acc_mem.membership_ts_range) IS NOT NULL AND LOWER(acc_mem.membership_ts_range) >= (CURRENT_DATE - INTERVAL %(start)s)) AS paid_minus
|
||||
FROM
|
||||
account.account acc
|
||||
LEFT JOIN
|
||||
|
|
Loading…
Reference in New Issue