pivot_forecast/readme.md

55 lines
3.9 KiB
Markdown
Raw Normal View History

* setup postgres db with a username and password and database
* add this to .bashrc to quickly invoke command line connection `export PGD="psql -U ptrowbridge -d ubm -p 5433 -h 192.168.1.110"`
2020-10-23 00:19:39 -04:00
setup
----------------------------------------------------------------------------------------------------------------------------------------------------
* setup the application tables `$PGD -f setup_sql/schema.sql`
* create a table of data to forecast
* edit `target_info.sql` to reflect the name of the table from previous step
* `$PGD -f setup_sql/target_info.sql` to populate the meta table
* fill out the `target_meta` table in the database to model the forecast table
* `PGD -f setup_sql/build_maste_tables.sql` to create master data tables from forecast data
* `./routes/baseline/generate_route_sql.sh` to create the baseline sql used by the /baseline route
2020-10-23 00:19:39 -04:00
routes
2020-10-23 00:19:39 -04:00
----------------------------------------------------------------------------------------------------------------------------------------------------
* all routes would be tied to an underlying sql that builds the incremental rows
* that piece of sql will have to be build based on the particular sales layout
* **columns:** a function to build the columns for each route
* **where** a function to build the where clause will be required for each route
* the result of above will get piped into a master function that build the final sql
* the master function will need to be called to build the sql statements into files of the project
route baseline
----------------------------------------------------------------------------------------------------------------------------------------------------
* forecast = baseline (copied verbatim from actuals and increment the dates) + diffs. if orders are canceled this will show up as differ to baseline
* regular updates to baseline may be required to keep up with canceled/altered orders
* copy some period of actual sales and increment all the dates to serve as a baseline forecast
2020-10-30 01:19:55 -04:00
2020-11-10 01:23:13 -05:00
- [x] join to period tables to populate season; requires variance number oof table joins, based on howmany date functions there are 🙄
2020-11-24 01:34:10 -05:00
- [ ] some of the app parameters can be consolidated, the baseline period could be one large range potentially, instead of 2 stacked periods
- [x] setup something to fill in sql parameters to do testing on the function
- [ ] update node to handle forecast name parameter
2020-11-28 02:17:53 -05:00
- [ ] calc status is hard-coded right now in the json request -> probably needs to be manuall supplied up front
scale
----------------------------------------------------------------------------------------------------------------------------------------------------
2020-12-08 01:14:52 -05:00
- [x] need to add version columns to all CTE's
2020-12-02 02:44:12 -05:00
- [ ] need to build log insert
2020-12-08 01:02:50 -05:00
- [x] Need to build where clause for scenario
2020-11-08 22:30:15 -05:00
running problem list
----------------------------------------------------------------------------------------------------------------------------------------------------
* baseline route
2020-11-10 01:23:13 -05:00
- [x] problem: how will the incremented order season get updated, adding an interval won't work
2020-11-08 22:44:23 -05:00
* a table fc.odate, has been built, but it is incomplete, a setup function filling in these date-keyed tables could be setup
* if a table is date-keyed, fc.perd could be targeted to fill in the gaps by mapping the associated column names
2020-11-10 01:23:13 -05:00
- [x] problem: the target sales data has to map have concepts like order_date, and the application needs to know which col is order date
2020-11-08 22:44:23 -05:00
* add column called application hook
- [ ] there is not currently any initial grouping to limit excess data from all the document# scenarios
* general
- [ ] clean up SQL generation to prevent injection
2020-12-08 01:06:06 -05:00
- [ ] how to handle a target value adjustment, which currency is it in?
2020-12-08 01:30:02 -05:00
- [ ] **the sales data has to have a column for module and change ID, live sales data isn't going to work well**
- [ ] need to target the live sales data, build build a whole new table to use it plus add version columns