From 516a8852510c857cd4f3f164765a30a3c14d86d4 Mon Sep 17 00:00:00 2001 From: Dona Maria Absi <49731027+DonaAbsi@users.noreply.github.com> Date: Wed, 23 Apr 2025 14:54:09 +0300 Subject: [PATCH] removed all params --- .../fact_hourly_energy_consumed.sql | 46 ++------------ .../fact_hourly_energy_consumed_api.sql | 62 ------------------- 2 files changed, 5 insertions(+), 103 deletions(-) delete mode 100644 libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed_api.sql 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 4d5cbc1..0564743 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 @@ -1,14 +1,4 @@ -WITH params AS ( - SELECT - NULL::uuid AS device_id, -- filter: specific device (or NULL for all) - NULL::date AS input_date, -- filter: start date (or NULL for open range) - NULL::text AS event_month, -- filter: MM-YYYY (or NULL for all) - NULL::text AS event_year, -- filter: YYYY (or NULL for all) - NULL::int AS hour, -- filter: hour of day (or NULL for all hours) - NULL::int AS min_kw -- filter: min kW consumed (or NULL for no filter) -), - -total_energy AS ( +WITH total_energy AS ( SELECT log.device_id, log.event_time::date AS date, @@ -17,14 +7,8 @@ total_energy AS ( 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 + FROM "device-status-log" log WHERE log.code = 'EnergyConsumed' - AND (params.device_id IS NULL OR log.device_id = params.device_id) - 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 TO_CHAR(log.event_time, 'MM-YYYY') = params.event_month) - AND (params.event_year IS NULL OR TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') = params.event_year) GROUP BY 1,2,3,4,5 ), @@ -37,14 +21,8 @@ energy_phase_A AS ( 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 + FROM "device-status-log" log WHERE log.code = 'EnergyConsumedA' - AND (params.device_id IS NULL OR log.device_id = params.device_id) - 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 TO_CHAR(log.event_time, 'MM-YYYY') = params.event_month) - AND (params.event_year IS NULL OR TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') = params.event_year) GROUP BY 1,2,3,4,5 ), @@ -57,14 +35,8 @@ energy_phase_B AS ( 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 + FROM "device-status-log" log WHERE log.code = 'EnergyConsumedB' - AND (params.device_id IS NULL OR log.device_id = params.device_id) - 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 TO_CHAR(log.event_time, 'MM-YYYY') = params.event_month) - AND (params.event_year IS NULL OR TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') = params.event_year) GROUP BY 1,2,3,4,5 ), @@ -77,14 +49,8 @@ energy_phase_C AS ( 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 + FROM "device-status-log" log WHERE log.code = 'EnergyConsumedC' - AND (params.device_id IS NULL OR log.device_id = params.device_id) - 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 TO_CHAR(log.event_time, 'MM-YYYY') = params.event_month) - AND (params.event_year IS NULL OR TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') = params.event_year) GROUP BY 1,2,3,4,5 ) @@ -102,6 +68,4 @@ FROM total_energy t JOIN energy_phase_A a ON t.device_id = a.device_id AND t.date = a.date AND t.hour = a.hour JOIN energy_phase_B b ON t.device_id = b.device_id AND t.date = b.date AND t.hour = b.hour JOIN energy_phase_C c ON t.device_id = c.device_id AND t.date = c.date AND t.hour = c.hour -JOIN params p ON TRUE -WHERE (p.min_kw IS NULL OR (t.max_value - t.min_value) >= p.min_kw) ORDER BY 1,2; \ No newline at end of file diff --git a/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed_api.sql b/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed_api.sql deleted file mode 100644 index 31ad996..0000000 --- a/libs/common/src/sql/queries/fact_hourly_energy_consumed/fact_hourly_energy_consumed_api.sql +++ /dev/null @@ -1,62 +0,0 @@ -WITH params AS ( - SELECT - 'd72f3d5d-02e5-4a9e-a1f7-7ab8c3534910'::uuid AS device_id, - NULL::date AS input_date, -- e.g., '2025-03-07' - NULL::text AS event_month, -- e.g., '03-2025' - '2025'::text AS event_year, -- e.g., '2025' - NULL::int AS hour, - NULL::int AS min_kw -), - -log_data AS ( - SELECT - log.device_id, - log.event_time::date AS date, - EXTRACT(HOUR FROM log.event_time)::int AS hour, - TO_CHAR(log.event_time, 'MM-YYYY') AS month, - TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') AS year, - log.code, - log.value::numeric AS value - FROM "device-status-log" log, params - WHERE (params.device_id IS NULL OR log.device_id = params.device_id) - AND (params.event_year IS NULL OR TO_CHAR(EXTRACT(YEAR FROM log.event_time), 'FM9999') = params.event_year) - AND (params.event_month IS NULL OR TO_CHAR(log.event_time, 'MM-YYYY') = params.event_month) - AND (params.input_date IS NULL OR log.event_time::date = params.input_date) -), - -base_data AS ( - SELECT - device_id, - CASE - WHEN (SELECT input_date FROM params) IS NOT NULL THEN date::text - WHEN (SELECT event_month FROM params) IS NOT NULL THEN date::text - ELSE month - END AS group_by_field, - CASE - WHEN (SELECT input_date FROM params) IS NOT NULL THEN hour - ELSE NULL - END AS hour, - code, - MIN(value)::int AS min_value, - MAX(value)::int AS max_value - FROM log_data - GROUP BY 1,2,3,4 -), - -pivoted AS ( - SELECT - device_id, - group_by_field, - hour, - MAX(CASE WHEN code = 'EnergyConsumed' THEN max_value - min_value END) AS energy_consumed_kw, - MAX(CASE WHEN code = 'EnergyConsumedA' THEN max_value - min_value END) AS energy_consumed_a, - MAX(CASE WHEN code = 'EnergyConsumedB' THEN max_value - min_value END) AS energy_consumed_b, - MAX(CASE WHEN code = 'EnergyConsumedC' THEN max_value - min_value END) AS energy_consumed_c - FROM base_data - GROUP BY 1,2,3 -) - -SELECT * -FROM pivoted, params -WHERE (params.min_kw IS NULL OR energy_consumed_kw >= params.min_kw) -ORDER BY pivoted.group_by_field, pivoted.hour;