2024-08-08 13:19:57 +00:00
|
|
|
/*
|
2024-08-19 09:57:28 +00:00
|
|
|
Macro: get_kpi_dimensions
|
|
|
|
|
|
2024-08-08 13:19:57 +00:00
|
|
|
Provides a general configuration for the Dimensions available for the KPIs.
|
|
|
|
|
Please note that strings should be encoded with " ' your_value_here ' ",
|
|
|
|
|
while fields from tables should be specified like " your_field_here "
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
{% macro get_kpi_dimensions() %}
|
|
|
|
|
{% set dimensions = [
|
|
|
|
|
{"dimension": "'global'", "dimension_value": "'global'"},
|
Merged PR 2689: KPIs by Billing Country
# Description
Adds Billing Country dimension in KPIs, but does not expose them to reporting yet.
Silly thing, based on the macros I built, I cannot make incremental changes unless changing all models. This will need to be adapted, happy to hear your thoughts on how we do it.
Additionally, I have lack of performance of the model `mtd_guest_payments_metrics`. It takes around 5 min to execute, but technically the end-to-end runs in one shoot without breaking.
It's a complex PR because it changes many files, but you will see that:
* It mostly changes the join conditions for the dimensions or the schema tests,
* I tried to be very careful and add things step-by-step in the commits.
Goal is NOT to complete the PR yet until we see how we can improve performance. I can say though that data end-to-end looks ok to me, but would benefit from checking with production data for the new dimension
Update 30th Aug
* Added a new commit that includes `id_user_host` in `int_core__verification_payments`. Happy to discuss if it makes sense or not. But it changes the execution from ~600 sec to ~6 sec because it avoids a massive repeated join with `verification_requests`.
# Checklist
- [X] The edited models and dependants run properly with production data.
- [X] The edited models are sufficiently documented.
- [X] The edited models contain PK tests, and I've ran and passed them.
- [X] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models. **To check because of performance issues**
# Other
- [ ] Check if a full-refresh is required after this PR is merged.
Related work items: #19082
2024-09-04 10:17:12 +00:00
|
|
|
{"dimension": "'by_number_of_listings'", "dimension_value": "active_accommodations_per_deal_segmentation"},
|
|
|
|
|
{"dimension": "'by_billing_country'", "dimension_value": "billing_country_iso_3"}
|
2024-08-08 13:19:57 +00:00
|
|
|
] %}
|
|
|
|
|
{{ return(dimensions) }}
|
2024-08-19 09:57:28 +00:00
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
Macro: get_kpi_dimensions_for_production
|
|
|
|
|
|
|
|
|
|
Provides the list of Dimensions that will be available in production for the KPIs.
|
|
|
|
|
This configuration ensures that working with new dimensions won't affect the display
|
2024-08-21 14:42:05 +00:00
|
|
|
until all development work has been done.
|
|
|
|
|
Additionally, it provides a proper display name for reporting purposes.
|
2024-08-19 09:57:28 +00:00
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
{% macro get_kpi_dimensions_for_production() %}
|
2024-08-21 14:42:05 +00:00
|
|
|
{% set dimensions = [
|
2024-08-22 06:49:15 +00:00
|
|
|
{"dimension": "'global'", "dimension_display": "'Global'"},
|
|
|
|
|
{"dimension": "'by_number_of_listings'", "dimension_display": "'By # of Listings Booked in 12 Months'"}
|
2024-08-21 14:42:05 +00:00
|
|
|
] %}
|
2024-08-19 09:57:28 +00:00
|
|
|
{{ return(dimensions) }}
|
2024-08-08 13:19:57 +00:00
|
|
|
{% endmacro %}
|