SomEnergia KPIs Documentation⚓
Per l'Equip Tècnic⚓
Comenceu aquí
For Developers⚓
The Readme or Readme.md is a good place to start. But if you're a dev making a new kpi, this will get you up to speed in 'I know kung-fu' style.
KPI wars: A new kpi⚓
We have a script (filtered_models_single_kpis.py
) that connects to the erp via erppeek
and queries the kpis stated in a table called erppeek_kpis_description
. So we first need to create that table.
$ python scripts/csv_to_sqltable.py --csvpath "datasources/erppeek/erppeek_kpis_test.csv" --dbapi "postgresql://somenergia:PASSWORD@puppis.somenergia.lan:5432/sandbox" --schema dbt_vader --table erppeek_kpis_description --ifexists replace
Now the kpis listed in erppeek_kpis_test.csv
will be in a table under the schema dbt_vader
.
We can now run the fitlered_models_single_kpis
script to compute them querying the ERP via erppeek.
$ python datasources/erppeek/filtered_models_single_kpis.py postgresql://somenergia:PASSWORD@puppis.somenergia.lan:5432/sandbox daily ERP_URL somenergia ERP_USER ERP_PASSWORD dbt_vader
Now we should have three tables with values, the EL is done and we are ready to Transform
- name: erppeek_kpis_description
- name: pilotatge_int_kpis
- name: pilotatge_float_kpis
$ dbt run --target testing --project-dir ./dbt_kpis -m kpis_raw+
You now have the utils/show_query.sql
which you can set to whichever query you'd want dbt to output in the command-line
if you don't want to go and check the tables yourself
The New Hope⚓
However, if only raw data is needed –as opposed to camps calculats–, the current preferred approach is sync tables using airbyte and use dbt on top of them.
About mkdocs⚓
For full documentation on mkdocs visit mkdocs.org.
In particular we are using mkdocs-material
However, a quickstart is
Commands⚓
poetry install --with docs
mkdocs serve
- Start the live-reloading docs server.mkdocs build
- Build the documentation site.mkdocs -h
- Print help message and exit.
Project layout⚓
mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.