From 353972984ed98ee0b5a7b1d67606e7a820b452e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20Roqu=C3=A9=20Paniagua?= Date: Fri, 31 Jan 2025 09:53:54 +0000 Subject: [PATCH] Merged PR 4236: Propagate contact name for reporting purposes only # Description Propagates contact name and id_deal + contact name combination for PBI in xero - sales monthly trends # 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. - [X] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Propagate contact name for reporting purposes only Related work items: #26618 --- models/reporting/xero/schema.yml | 8 ++++ .../xero/xero__sales_monthly_trends.sql | 37 +++++++++++-------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/models/reporting/xero/schema.yml b/models/reporting/xero/schema.yml index 294d49a..35a5ebc 100644 --- a/models/reporting/xero/schema.yml +++ b/models/reporting/xero/schema.yml @@ -1455,6 +1455,14 @@ models: data_tests: - not_null + - name: contact_name + data_type: text + description: "The name of the contact associated with the deal." + + - name: id_deal_contact_name + data_type: text + description: "A concatenation of the deal ID and contact name." + - name: accounting_financial_l1_aggregation data_type: text description: "The Level 1 aggregation for Financial reporting." diff --git a/models/reporting/xero/xero__sales_monthly_trends.sql b/models/reporting/xero/xero__sales_monthly_trends.sql index f0ddf5d..b3b1c06 100644 --- a/models/reporting/xero/xero__sales_monthly_trends.sql +++ b/models/reporting/xero/xero__sales_monthly_trends.sql @@ -1,20 +1,25 @@ with int_xero__sales_monthly_trends as ( select * from {{ ref("int_xero__sales_monthly_trends") }} - ) + ), + int_xero__contacts as (select * from {{ ref("int_xero__contacts") }}) select - document_issued_month_utc as document_issued_month_utc, - fiscal_year as fiscal_year, - previous_fiscal_year as previous_fiscal_year, - document_status as document_status, - document_type as document_type, - id_deal as id_deal, - accounting_financial_l1_aggregation as accounting_financial_l1_aggregation, - accounting_financial_l2_aggregation as accounting_financial_l2_aggregation, - accounting_financial_l3_aggregation as accounting_financial_l3_aggregation, - amount_wo_taxes_in_gbp as amount_wo_taxes_in_gbp, - previous_month_amount_wo_taxes_in_gbp as previous_month_amount_wo_taxes_in_gbp, - previous_year_amount_wo_taxes_in_gbp as previous_year_amount_wo_taxes_in_gbp, - ytd_amount_wo_taxes_in_gbp as ytd_amount_wo_taxes_in_gbp, - previous_year_ytd_amount_wo_taxes_in_gbp as previous_year_ytd_amount_wo_taxes_in_gbp -from int_xero__sales_monthly_trends + smt.document_issued_month_utc as document_issued_month_utc, + smt.fiscal_year as fiscal_year, + smt.previous_fiscal_year as previous_fiscal_year, + smt.document_status as document_status, + smt.document_type as document_type, + smt.id_deal as id_deal, + c.contact_name as contact_name, + smt.id_deal || '-' || c.contact_name as id_deal_contact_name, + smt.accounting_financial_l1_aggregation as accounting_financial_l1_aggregation, + smt.accounting_financial_l2_aggregation as accounting_financial_l2_aggregation, + smt.accounting_financial_l3_aggregation as accounting_financial_l3_aggregation, + smt.amount_wo_taxes_in_gbp as amount_wo_taxes_in_gbp, + smt.previous_month_amount_wo_taxes_in_gbp as previous_month_amount_wo_taxes_in_gbp, + smt.previous_year_amount_wo_taxes_in_gbp as previous_year_amount_wo_taxes_in_gbp, + smt.ytd_amount_wo_taxes_in_gbp as ytd_amount_wo_taxes_in_gbp, + smt.previous_year_ytd_amount_wo_taxes_in_gbp + as previous_year_ytd_amount_wo_taxes_in_gbp +from int_xero__sales_monthly_trends smt +left join int_xero__contacts c on smt.id_deal = c.id_deal