Skip to content

Commit e0a4558

Browse files
committed
Update users aggregated calc function.
1 parent 67ce673 commit e0a4558

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

django/apps/aggregated/management/commands/update_aggregated_data.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323
)
2424
(
2525
-- Retrieve used tasks
26+
-- task_id is not the primary key. project_id-group_id-task_id is
2627
WITH used_tasks as (
2728
SELECT
28-
project_id, group_id, task_id
29-
FROM results R
30-
INNER JOIN tasks T USING (project_id, group_id, task_id)
29+
MS.project_id, MS.group_id, MSR.task_id
30+
FROM mapping_sessions_results MSR
31+
INNER JOIN mapping_sessions MS USING (mapping_session_id)
32+
INNER JOIN tasks T USING (project_id, group_id, task_id)
3133
WHERE
32-
R.timestamp >= %(from_date)s and R.timestamp < %(until_date)s
34+
MS.start_time >= %(from_date)s and MS.start_time < %(until_date)s
3335
GROUP BY project_id, group_id, task_id
3436
),
3537
-- Calculated task area.
@@ -45,19 +47,20 @@
4547
-- Aggregate data by group
4648
user_data as (
4749
SELECT
48-
R.project_id,
49-
R.group_id,
50-
R.user_id,
51-
MAX(R.timestamp::date) as timestamp_date,
52-
MIN(R.start_time) as start_time,
53-
MAX(R.end_time) as end_time,
54-
COUNT(DISTINCT R.task_id) as task_count,
50+
MS.project_id,
51+
MS.group_id,
52+
MS.user_id,
53+
MAX(MS.start_time::date) as timestamp_date,
54+
MIN(MS.start_time) as start_time,
55+
MAX(MS.end_time) as end_time,
56+
COUNT(DISTINCT MSR.task_id) as task_count,
5557
SUM(T.area) as area_swiped
56-
From results R
57-
INNER JOIN task_data T USING (project_id, group_id, task_id)
58+
FROM mapping_sessions_results MSR
59+
INNER JOIN mapping_sessions MS USING (mapping_session_id)
60+
INNER JOIN task_data T USING (project_id, group_id, task_id)
5861
WHERE
5962
R.timestamp >= %(from_date)s and R.timestamp < %(until_date)s
60-
GROUP BY R.project_id, R.group_id, R.user_id
63+
GROUP BY MS.project_id, MS.group_id, MS.user_id
6164
),
6265
-- Aggregate group data
6366
user_agg_data as (

0 commit comments

Comments
 (0)