@@ -429,22 +429,47 @@ GROUP BY
429429
430430 ------------------------------------------------------------------------------
431431 -------------------------- read hourly histogram------------------------------
432+
433+ WITH submission_histogram AS (
434+ SELECT
435+ DATE_TRUNC(
436+ 'hour',
437+ TIMEZONE('utc', FS."LastUpdatedAt")
438+ )::timestamptz AS bucket,
439+ 1 AS forms_submitted,
440+ FS."NumberOfQuestionsAnswered" AS number_of_questions_answered,
441+ FS."NumberOfFlaggedAnswers" AS number_of_flagged_answers
442+ FROM "FormSubmissions" FS
443+ INNER JOIN "GetAvailableMonitoringObservers"(
444+ @ELECTIONROUNDID,
445+ @NGOID,
446+ @DATASOURCE) MO ON MO."MonitoringObserverId" = FS."MonitoringObserverId"
447+
448+ UNION ALL
449+
450+ SELECT
451+ DATE_TRUNC(
452+ 'hour',
453+ TIMEZONE('utc', qr."LastUpdatedAt")
454+ )::timestamptz AS bucket,
455+ 1 AS forms_submitted,
456+ qr."NumberOfQuestionsAnswered" AS number_of_questions_answered,
457+ qr."NumberOfFlaggedAnswers" AS number_of_flagged_answers
458+ FROM "PollingStationInformation" qr
459+ INNER JOIN "GetAvailableMonitoringObservers"(
460+ @ELECTIONROUNDID,
461+ @NGOID,
462+ @DATASOURCE) MO ON MO."MonitoringObserverId" = qr."MonitoringObserverId"
463+ )
464+
432465 SELECT
433- DATE_TRUNC(
434- 'hour',
435- TIMEZONE (
436- 'utc',
437- FS."LastUpdatedAt"
438- )
439- )::TIMESTAMPTZ AS "Bucket",
440- COUNT(1) AS "FormsSubmitted",
441- SUM("NumberOfQuestionsAnswered") AS "NumberOfQuestionsAnswered",
442- SUM("NumberOfFlaggedAnswers") AS "NumberOfFlaggedAnswers"
443- FROM
444- "FormSubmissions" FS
445- INNER JOIN "GetAvailableMonitoringObservers" (@ELECTIONROUNDID, @NGOID, @DATASOURCE) MO ON MO."MonitoringObserverId" = FS."MonitoringObserverId"
446- GROUP BY
447- 1;
466+ bucket AS "Bucket",
467+ COUNT(*) AS "FormsSubmitted",
468+ SUM(number_of_questions_answered) AS "NumberOfQuestionsAnswered",
469+ SUM(number_of_flagged_answers) AS "NumberOfFlaggedAnswers"
470+ FROM submission_histogram
471+ GROUP BY bucket
472+ ORDER BY bucket;
448473
449474 SELECT
450475 DATE_TRUNC(
0 commit comments