Compare commits
2 Commits
15b515a5e1
...
73f7667ef7
Author | SHA1 | Date | |
---|---|---|---|
73f7667ef7 | |||
b6edc4006a |
@ -2,6 +2,7 @@ DO
|
||||
$func$
|
||||
DECLARE
|
||||
_clist text;
|
||||
_clist_inc text;
|
||||
_ytdbody text;
|
||||
_order_date text;
|
||||
_ship_date text;
|
||||
@ -23,12 +24,26 @@ 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;
|
||||
SELECT (SELECT cname FROM fc.target_meta WHERE appcol = 'ship_date') INTO _ship_date;
|
||||
SELECT (SELECT cname FROM fc.target_meta WHERE appcol = 'order_status') INTO _order_status;
|
||||
|
||||
--------------------------------------clone the actual baseline-----------------------------------------------
|
||||
|
||||
SELECT
|
||||
$a$SELECT
|
||||
$a$::text||
|
||||
@ -53,27 +68,31 @@ INTO
|
||||
_ytdbody;
|
||||
|
||||
--RAISE NOTICE '%', _ytdbody;
|
||||
|
||||
|
||||
------------------------------------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
|
||||
_actpy;
|
||||
|
||||
------------------------------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