From fea5d4d82889c78f13b542ddb25dead5e4026555 Mon Sep 17 00:00:00 2001 From: Dona Maria Absi <49731027+DonaAbsi@users.noreply.github.com> Date: Tue, 22 Apr 2025 16:38:02 +0300 Subject: [PATCH] added more steps --- .../fact_hourly_energy_consumed.sql | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed.sql b/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed.sql index 5b992de..c6dcf1d 100644 --- a/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed.sql +++ b/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed.sql @@ -23,6 +23,8 @@ total_energy AS ( AND (params.input_date IS NULL OR log.event_time::date >= params.input_date) AND (params.input_date IS NULL OR log.event_time::date <= params.input_date) AND (params.hour IS NULL OR EXTRACT(HOUR FROM log.event_time) = params.hour) + AND (params.event_month IS NULL OR log.event_month = params.event_month) + AND (params.event_year IS NULL OR log.event_year = params.event_year) GROUP BY 1,2,3,4,5 ), @@ -31,6 +33,8 @@ energy_phase_A AS ( log.device_id, log.event_time::date AS date, EXTRACT(HOUR FROM log.event_time) AS hour, + TO_CHAR(log.event_time, 'MM-YYYY') AS event_month, + EXTRACT(YEAR FROM log.event_time)::int AS event_year, MIN(log.value)::integer AS min_value, MAX(log.value)::integer AS max_value FROM "device-status-log" log, params @@ -39,7 +43,9 @@ energy_phase_A AS ( AND (params.input_date IS NULL OR log.event_time::date >= params.input_date) AND (params.input_date IS NULL OR log.event_time::date <= params.input_date) AND (params.hour IS NULL OR EXTRACT(HOUR FROM log.event_time) = params.hour) - GROUP BY 1,2,3 + AND (params.event_month IS NULL OR log.event_month = params.event_month) + AND (params.event_year IS NULL OR log.event_year = params.event_year) + GROUP BY 1,2,3,4,5 ), energy_phase_B AS ( @@ -47,6 +53,8 @@ energy_phase_B AS ( log.device_id, log.event_time::date AS date, EXTRACT(HOUR FROM log.event_time) AS hour, + TO_CHAR(log.event_time, 'MM-YYYY') AS event_month, + EXTRACT(YEAR FROM log.event_time)::int AS event_year, MIN(log.value)::integer AS min_value, MAX(log.value)::integer AS max_value FROM "device-status-log" log, params @@ -55,7 +63,9 @@ energy_phase_B AS ( AND (params.input_date IS NULL OR log.event_time::date >= params.input_date) AND (params.input_date IS NULL OR log.event_time::date <= params.input_date) AND (params.hour IS NULL OR EXTRACT(HOUR FROM log.event_time) = params.hour) - GROUP BY 1,2,3 + AND (params.event_month IS NULL OR log.event_month = params.event_month) + AND (params.event_year IS NULL OR log.event_year = params.event_year) + GROUP BY 1,2,3,4,5 ), energy_phase_C AS ( @@ -63,6 +73,8 @@ energy_phase_C AS ( log.device_id, log.event_time::date AS date, EXTRACT(HOUR FROM log.event_time) AS hour, + TO_CHAR(log.event_time, 'MM-YYYY') AS event_month, + EXTRACT(YEAR FROM log.event_time)::int AS event_year, MIN(log.value)::integer AS min_value, MAX(log.value)::integer AS max_value FROM "device-status-log" log, params @@ -71,7 +83,9 @@ energy_phase_C AS ( AND (params.input_date IS NULL OR log.event_time::date >= params.input_date) AND (params.input_date IS NULL OR log.event_time::date <= params.input_date) AND (params.hour IS NULL OR EXTRACT(HOUR FROM log.event_time) = params.hour) - GROUP BY 1,2,3 + AND (params.event_month IS NULL OR log.event_month = params.event_month) + AND (params.event_year IS NULL OR log.event_year = params.event_year) + GROUP BY 1,2,3,4,5 ) SELECT