Merged PR 4126: cih monthly fee to reporting

# Description

CIH monthly fee to reporting

# 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.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

cih monthly fee to reporting

Related work items: #26158
This commit is contained in:
Joaquin Ossa 2025-01-21 11:40:27 +00:00
commit a99b7f29a7
2 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,17 @@
with
int_check_in_hero__user_monthly_fee as (
select * from {{ ref("int_check_in_hero__user_monthly_fee") }}
)
select
id_user_partner as id_user_partner,
year as year,
month as month,
id_currency as id_currency,
currency_code as currency_code,
total_fee_in_local_currency as total_fee_in_local_currency,
total_fee_in_gbp as total_fee_in_gbp,
number_of_requests as number_of_requests,
company_name as company_name,
user_email as user_email
from int_check_in_hero__user_monthly_fee

View file

@ -156,3 +156,81 @@ models:
description: Date when the record was created.
data_tests:
- not_null
- name: check_in_hero__user_monthly_fee
description: |
Table that shows the total monthly fee for each user.
These charges are calculated based on the amount of request created
for each user partner that will be invoiced at the beginning of the
following month.
columns:
- name: id_user_partner
data_type: text
description: |
Identifier for the partner user associated with the check-in.
data_tests:
- not_null
- name: year
data_type: integer
description: |
Year when the charges are created. This is obtained from the
creation date of each record.
data_tests:
- not_null
- name: month
data_type: integer
description: |
Month number when the charges are created. This is obtained from the
creation date of each record.
data_tests:
- not_null
- name: id_currency
data_type: bigint
description: "Id of the currency, works as a foreign key to the
currency table"
data_tests:
- not_null
- relationships:
to: ref('stg_core__currency')
field: id_currency
- name: currency_code
data_type: character varying
description: Currency ISO 4217 code used by user.
data_tests:
- not_null
- name: total_fee_in_local_currency
data_type: numeric
description: "Total fee charged to the user for the month in the local currency."
data_tests:
- dbt_expectations.expect_column_values_to_be_between:
min_value: 0
strictly: true
- name: total_fee_in_gbp
data_type: numeric
description: "Total fee charged to the user for the month in gbp."
data_tests:
- dbt_expectations.expect_column_values_to_be_between:
min_value: 0
strictly: true
- name: number_of_requests
data_type: numeric
description: "Count of requests created by the user partner for the month."
data_tests:
- dbt_expectations.expect_column_values_to_be_between:
min_value: 0
strictly: true
- name: company_name
data_type: text
description: Company name of partner user.
- name: user_email
data_type: text
description: Email address of the user associated with the check-in.