data-dwh-dbt-project/dbt_project.yml
Oriol Roqué Paniagua 5394066959 Merged PR 4124: Adds dedicated start date for KPIs
# Description

This is a extremely simple but rather important PR.
It just sets the cutoff for KPIs reporting to April 2022. This affects 1) Main KPIs, 2) Guest KPIs and 3) Account Managers report

Motivation behind this is to have accurate data. Early 2022 might still be shitty, but at least we have a source of truth to compare against (on revenue side, finance P&L)

I set a dedicated variable because currency rates is reading from the same start date, and I intend only to modify KPIs cutoff.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [NA] The edited models are sufficiently documented.
- [NA] The edited models contain PK tests, and I've ran and passed them.
- [NA] I have checked for DRY opportunities with other models and docs.
- [NA] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged. **I need to manually run a full-refresh on daily listing segmentation that is incremental**

Adds dedicated start date for KPIs

Related work items: #26712
2025-01-21 11:18:16 +00:00

74 lines
2.6 KiB
YAML

# Name your project! Project names should contain only lowercase characters
# and underscores. A good package name should reflect your organization's
# name or the intended use of these models
name: "dwh_dbt"
version: "1.0.0"
config-version: 2
# This setting configures which "profile" dbt uses for this project.
profile: "dwh_dbt"
# These configurations specify where dbt should look for different types of files.
# The `model-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_packages"
# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models
# In this example config, we tell dbt to build all models in the example/
# directory as views. These settings can be overridden in the individual model
# files using the `{{ config(...) }}` macro.
models:
+unlogged: true
# ^ This makes all the tables created by dbt be unlogged. This is a Postgres
# specific setting that we activate for performance. It has deep implications
# on how Postgres handles tables and is typically considered crazy risky, but
# it's very fitting for our needs. You can read more here:
# https://www.crunchydata.com/blog/postgresl-unlogged-tables
dwh_dbt:
+post-hook:
sql: "VACUUM ANALYZE {{ this }}"
transaction: false
# ^ This makes dbt run a VACUUM ANALYZE on the models after building each.
# It's pointless for views, but it doesn't matter because Postgres fails
# silently withour raising an unhandled exception.
staging:
+materialized: table
+schema: staging
intermediate:
+materialized: view
+schema: intermediate
reporting:
+materialized: table
+schema: reporting
seeds:
dwh_dbt:
schema: staging
vars:
"dbt_date:time_zone": "Europe/London"
# A general cutoff date for relevancy. Many models assume this to be the point
# in time after which they should work.
"start_date": "'2020-01-01'"
# KPIs Start Date. This is the date from which we start calculating KPIs.
"kpis_start_date": "'2022-04-01'"
# Booking state variables
# States should be strings in capital letters. Models need to force an upper()
"cancelled_booking_state": "'CANCELLED'"
# Payment state variables
# States should be strings in capital letters. Models need to force an upper()
"paid_payment_state": "'PAID'"