diff --git a/build_json.xlsx b/build_json.xlsx index 8c97b0a..e2525d1 100644 Binary files a/build_json.xlsx and b/build_json.xlsx differ diff --git a/header_item_template.pgsql b/header_item_template.pgsql new file mode 100644 index 0000000..0e4d3bb --- /dev/null +++ b/header_item_template.pgsql @@ -0,0 +1,46 @@ +\timing +with j as ( +SELECT +$$ + {"header":{"vendor":"Target","date":"10/12/2017","instrument":"Discover Card","module":"hdrio","total":47.74,"location":"Stow, OH","transaction":"purchase","offset":"dcard"},"item":[{"vend item":"HERBAL","amt":7.99,"account":"home supplies","item":"shampoo","reason":"hygiene"},{"vend item":"HERBAL","amt":7.99,"account":"home supplies","item":"conditioner","reason":"hygiene"},{"vend item":"BUILDING SET","amt":28.74,"account":"recreation","item":"legos","reason":"toys","qty":6,"uom":"ea"},{"vend item":"OH TAX","amt":3.02,"account":"sales tax","item":"sales tax","reason":"sales tax","rate":"0.0675"}]} +$$::jsonb jb +) +,os AS ( + SELECT + flag, + sign, + x.offs + FROM + j + JOIN LATERAL + ( + VALUES + ('ITEM',1,null), + ('OFFSET',-1,j.jb->'header'->>'offset') + ) x (flag, sign, offs) ON TRUE +) +,build AS ( +SELECT + array['item',rn::text]::text jpath + ,COALESCE(os.offs,ae.e->>'account') acct + ,(ae.e->>'amt')::numeric * os.sign amount +FROM + j + LEFT JOIN LATERAL JSONB_ARRAY_ELEMENTS(J.JB->'item') WITH ORDINALITY ae(e,rn) ON TRUE + CROSS JOIN os +ORDER BY + ae.rn ASC, + os.flag ASC +) +,agg AS ( +SELECT + jsonb_build_object('gl',jsonb_agg(row_to_json(b))) gl +FROM + build b +) +SELECT + jsonb_pretty(agg.gl||j.jb) +FROM + agg + CROSS JOIN j + \ No newline at end of file diff --git a/srce.pgsql b/srce.pgsql index 32c925b..47e7cb9 100644 --- a/srce.pgsql +++ b/srce.pgsql @@ -16,21 +16,13 @@ DECLARE _t text; DECLARE _c text; DECLARE _path text; DECLARE _srce text; -<<<<<<< HEAD - -BEGIN - - _path := 'C:\users\fleet\downloads\d1026.csv'; - _srce := 'DCARD'; -======= DECLARE _log_info text; DECLARE _log_id text; BEGIN - _path := 'C:\users\ptrowbridge\downloads\llcol.csv'; - _srce := 'PNCL'; ->>>>>>> wk + _path := 'C:\users\fleet\downloads\discover-recentactivity-20171031.csv'; + _srce := 'DCARD'; ----------------------------------------------------build the column list of the temp table---------------------------------------------------------------- diff --git a/summary.xlsx b/summary.xlsx index cd65f7a..52a76a9 100644 Binary files a/summary.xlsx and b/summary.xlsx differ