get column list for plu to increment year
This commit is contained in:
parent
b6edc4006a
commit
73f7667ef7
@ -2,6 +2,7 @@ DO
|
||||
$func$
|
||||
DECLARE
|
||||
_clist text;
|
||||
_clist_inc text;
|
||||
_ytdbody text;
|
||||
_order_date text;
|
||||
_ship_date text;
|
||||
@ -23,6 +24,18 @@ FROM
|
||||
WHERE
|
||||
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;
|
||||
|
||||
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------------------
|
||||
|
||||
SELECT
|
||||
$$SELECT
|
||||
$$||_clist_inc||
|
||||
$$
|
||||
,'baseline' "version"
|
||||
,'plug' iter
|
||||
FROM
|
||||
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
|
||||
[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
|
||||
$$
|
||||
INTO
|
||||
@ -79,9 +90,9 @@ INTO
|
||||
------------------------------stack the sql into the final format------------------------------------------------
|
||||
|
||||
SELECT
|
||||
_ytdbody
|
||||
||$$UNION ALL
|
||||
$$||_actpy
|
||||
_ytdbody||
|
||||
$$UNION ALL
|
||||
$$||_actpy
|
||||
INTO
|
||||
_sql;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user