get column list for plu to increment year

This commit is contained in:
Paul Trowbridge 2020-11-06 00:12:05 -05:00
parent b6edc4006a
commit 73f7667ef7

View File

@ -2,6 +2,7 @@ DO
$func$ $func$
DECLARE DECLARE
_clist text; _clist text;
_clist_inc text;
_ytdbody text; _ytdbody text;
_order_date text; _order_date text;
_ship_date text; _ship_date text;
@ -23,6 +24,18 @@ FROM
WHERE WHERE
func NOT IN ('version'); func NOT IN ('version');
---------------------------build column to increment dates--------------------------------
SELECT
string_agg(
format('%I',cname) || CASE WHEN func IN ('odate','sdate') AND dtype = 'date' THEN ' + interval ''1 year''' ELSE '' END,E'\n ,' ORDER BY opos ASC)
INTO
_clist_inc
FROM
fc.target_meta
WHERE
func NOT IN ('version');
--RAISE NOTICE 'build list: %',clist; --RAISE NOTICE 'build list: %',clist;
SELECT (SELECT cname FROM fc.target_meta WHERE appcol = 'order_date') INTO _order_date; SELECT (SELECT cname FROM fc.target_meta WHERE appcol = 'order_date') INTO _order_date;
@ -60,17 +73,15 @@ INTO
------------------------------------pull a plug from actuals to create a full year baseline------------------ ------------------------------------pull a plug from actuals to create a full year baseline------------------
SELECT SELECT
$$SELECT
$$||_clist_inc||
$$ $$
,'baseline' "version" ,'baseline' "version"
,'plug' iter ,'plug' iter
FROM FROM
rlarp.osm_dev o rlarp.osm_dev o
LEFT OUTER JOIN gld ON
gld.fspr = o.fspr
LEFT OUTER JOIN gld ss ON
greatest(least(o.sdate,gld.edat),gld.sdat) + interval '1 year' BETWEEN ss.sdat AND ss.edat
WHERE WHERE
[target_odate] BETWEEN [target_odate_plug_from] AND [target_odate_plug_to] $$||_order_date||$$ BETWEEN [app_plug_fromdate] AND [app_plug_todate]
--be sure to pre-exclude unwanted items, like canceled orders, non-gross sales, and short-ships --be sure to pre-exclude unwanted items, like canceled orders, non-gross sales, and short-ships
$$ $$
INTO INTO
@ -79,9 +90,9 @@ INTO
------------------------------stack the sql into the final format------------------------------------------------ ------------------------------stack the sql into the final format------------------------------------------------
SELECT SELECT
_ytdbody _ytdbody||
||$$UNION ALL $$UNION ALL
$$||_actpy $$||_actpy
INTO INTO
_sql; _sql;