This PR aims to provide a first draft for business KPIs, at this stage **quite minimal**.
It mostly contains a MTD and Monthly display approach. No dimensions are created.
The models created are:
- **int_dates_mtd**: mainly it reads from int_dates to retrieve those days needed for a MTD/monthly display
- **int_core__mtd_booking_metrics**: it contains the booking metrics, ending in a format of date|value|value last year|increment
--> here we could add, in the future, additional metrics from other sources (ex: guest journey, etc)
- **int_core__mtd_aggregated_metrics**: it transforms the data coming from the different mtd intermediate sources to be easily displayed in the dashboard. This is a good candidate for macros :)
- **core__mtd_aggregated_metrics**: copy-paste of the its int_core version, including a bit of model documentation
The dashboard is functional but in another PR. I can show you how it looks like at the moment you are going to check the PR
Related work items: #17214
Includes the phone number field in unified user.
Also added basic tests on the PK.
Also improved upstream models traceability in the model.
Related work items: #17240
This PR:
- Improves the `run_dbt.sh` script to monitor for failures and send success/failure messages.
- Also updates the `README.md` to explain how to configure the Slack Webhook URLs.
Besides that, I've already created the right slack channels.
Related work items: #16948
Expands `xero__net_fees` with a new category dedicated to Damage Waivers.
Also fixes a small issue with the join. Should have been a full outer join from the start to properly catch months where we've only invoiced/credited some category.
Related work items: #16825
- Ingest the currency table from the backend into DWH.
- Add the newly created `AccountCurrencyId` into the `User` table.
- Push the data to the intermediate user model while replacing the internal superhog currency ID by the ISO4217 code so it's easily joinable with other stuff.
Now, every money amount related to some user in the SQL server backend can be currency-informed instead of currency-less.