From 0d83f19e330a0447340b16eabb40c2dae1e4326e Mon Sep 17 00:00:00 2001 From: PhilRunninger Date: Wed, 17 May 2023 10:04:46 -0400 Subject: [PATCH] Fix percent change calculation for price adjustment. I shouldn't be coding on zero hours sleep! --- route_sql/addmonth_vupd.sql | 2 +- route_sql/scale_pd.sql | 2 +- route_sql/scale_vupd.sql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/route_sql/addmonth_vupd.sql b/route_sql/addmonth_vupd.sql index c2ffa8f..0419e1e 100644 --- a/route_sql/addmonth_vupd.sql +++ b/route_sql/addmonth_vupd.sql @@ -409,7 +409,7 @@ WHERE WHEN (SELECT coalesce(sum(value_loc),0) FROM volume) = 0 -- Get a per-unit pincr value THEN (SELECT pincr::numeric FROM target) / (SELECT sum(units) FROM volume) ELSE -- Find percent change for existing value_loc - (SELECT pincr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM volume) - 1 + (SELECT pincr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM volume) END factor ) -- select * from pscale diff --git a/route_sql/scale_pd.sql b/route_sql/scale_pd.sql index 1aef3fe..024743b 100644 --- a/route_sql/scale_pd.sql +++ b/route_sql/scale_pd.sql @@ -113,7 +113,7 @@ target AS (select target_increment incr) WHEN (SELECT coalesce(sum(value_loc),0) FROM basemix) = 0 -- Get a per-unit incr value THEN (SELECT incr::numeric FROM target) / (SELECT sum(units) FROM basemix) ELSE -- Find percent change for existing value_loc - (SELECT incr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM basemix) - 1 + (SELECT incr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM basemix) END factor ) -- select * from scale diff --git a/route_sql/scale_vupd.sql b/route_sql/scale_vupd.sql index 6081eeb..92fd614 100644 --- a/route_sql/scale_vupd.sql +++ b/route_sql/scale_vupd.sql @@ -246,7 +246,7 @@ FROM WHEN (SELECT coalesce(sum(value_loc),0) FROM volume) = 0 -- Get a per-unit pincr value THEN (SELECT pincr::numeric FROM target) / (SELECT sum(units) FROM volume) ELSE -- Find percent change for existing value_loc - (SELECT pincr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM volume) - 1 + (SELECT pincr::numeric FROM target) / (SELECT nullif(sum(value_loc * r_rate),0) FROM volume) END factor ) -- select * from pscale