This commit is contained in:
Grzegorz Michalski
2026-03-02 09:47:35 +01:00
commit 2c225d68ac
715 changed files with 130067 additions and 0 deletions

0
dbt/snapshots/.gitkeep Normal file
View File

View File

@@ -0,0 +1,346 @@
-- This model updates the target table DW_RAR.NH_ASSET_snapshot by adding new and the updated rows.
-- If the modified version of the already existing row was added the column TO_DATE is getting updated with the current date.
-- Wether the row is new or existing one is determined by ASSET_KEY and FROM_DATE columns.
-- In addition to that 4 more columns are updated in the target table: DBT_SCD_ID, DBT_UPDATED_AT, DBT_VALID_FROM,DBT_VALID TO
-- The model is a part of the mapping m_DWH_ASSET_NH_ASSET_TE_ASSET_LOAD.
-- Pre-/post-hook log data into the control tables.
-- A_TASK_HISTORY_TARGET_insert tag ensures logging of the target table data into the control tables.
{% snapshot NH_ASSET_snapshot %}
-- Note: the following config part for the renaming of the dbt default columns is only available from dbt-oracle version 1.9 and higher
-- and therefore excluded here:
-- snapshot_meta_column_names={
-- 'dbt_valid_from': 'FROM_DATE',
-- 'dbt_valid_to': 'TO_DATE'},
{{config(
target_schema='DW_RAR',
unique_key='ASSET_KEY',
strategy='timestamp',
updated_at='FROM_DATE',
tags = ['m_DWH_ASSET_NH_ASSET_TE_ASSET_LOAD_snapshot'],
)
}}
-- Select the required for the target model columns.
-- Join with the target model NH_ASSET_test.
-- Compare the incoming and the existing data in the target model: keep only new and modified rows.
-- update the TO_DATE and FROM_DATE columns.
SELECT SQ.ASSET_KEY,
SQ.IS_SECURED,
SQ.CLASSIFICATION,
SQ.IS_EXTENDIBLE,
SQ.EA_IS_EMERGENCY_COLLATERAL,
SQ.TMS_GROUP_PATH,
SQ.TMS_GROUP_PATH_NAME,
SQ.ISSUE_DATE,
SQ.MATURITY_LAST_REDEMPTION_DATE,
SQ.TMS_ACTIVE_SINCE,
SQ.TMS_ACTIVE_UNTIL,
SQ.CURRENCY,
SQ.CURRENCY_2,
SQ.INTEREST_RATE,
SQ.TMS_TYPE,
SQ.PERIOD_ID,
SQ.PRICING_TYPE,
SQ.ASSET_BBG_NAME,
SQ.BBG_BM_IDX,
SQ.BBG_FLT_BM_MULTIPLIER,
SQ.BBG_COLLAT_TYPE,
SQ.BBG_MARKET_ISSUE,
SQ.BBG_MATURITY_TYPE,
SQ.COUPON_TYPE,
SQ.POOL_FACTOR,
SQ.BBG_FLT_SPREAD,
SQ.CSDB_REDEMPTION_TYPE,
SQ.CSDB_REDEMPTION_FREQ,
SQ.CSDB_REDEMPTION_PRICE,
SQ.CSDB_ISSUE_PRICE,
SQ.CSDB_STATUS,
SQ.UOC_INTEREST_PAYMENT_TYPE,
SQ.EA_CSD,
SQ.C2D_ASSET_TYPE,
SQ.EA_COUPON_TYPE,
SQ.EA_REF_MARKET,
SQ.EA_CRD_OR_EQUIV,
SQ.EA_IS_ABS_LLD,
SQ.EA_IS_ABS_LLD_DATE,
SQ.EA_ABS_SURVEIL_DATE,
SQ.EA_ABS_TYPE,
SQ.EA_CEPH_IS_INFLAT,
SQ.EA_CEPH_IS_CALL_PUT,
SQ.EA_CEPH_IS_SINKABLE,
SQ.EA_CEPH_COMMENT,
SQ.EA_IS_OUTRIGHT_PURCHASE,
SQ.EA_LIQ_CLASS,
SQ.EA_DENOMINATION,
SQ.EA_NAME,
SQ.EA_VALIDATION_STATUS,
SQ.EA_NCB_COMMENT,
SQ.EA_ISSUANCE_DATE,
SQ.C2D_MATURITY_DATE,
SQ.MATURITY_DATE,
SQ.UOC_BUCKET_SIZE,
SQ.IS_ELIGIBLE_VIA_GUARANTOR,
SQ.UOC_RESIDUAL_MATURITY,
SQ.EA_SENDER_CODE,
SQ.EA_NON_OWN_USE_HAIRCUT,
SQ.ACCOUNTING_TYPE,
SQ.GROUPING_VALUE,
SQ.SPREAD_TYPE,
SQ.TMS_ELIGIBILITY_TYPE,
SQ.REF_AMOUNT_BUCKET,
SQ.ISSUANCE_TYPE,
SQ.BRANCH6_ID,
SQ.BRANCH7_ID,
SQ.BRANCH8_ID,
SQ.BRANCH9_ID,
SQ.TMS_NAME,
SQ.CSDB_CSD,
SQ.CSDB_SECURITISATION_TYPE,
SQ.CFI_CLASSIFICATION,
SQ.INSTRUMENT_ESA_95_CLASS,
SQ.INSTR_ESA_95_CLASS_VAL_TYPE,
SQ.INSTRUMENT_ESA_2010_CLASS,
SQ.REDEMPTION_CURRENCY,
SQ.CSDB_SUPPL_INFO,
SQ.CAP,
SQ.REFERENCERATE,
SQ.REFERENCERATECOMMENT,
SQ.BBG_FLOATER,
SQ.BBG_INDUSTRY_GROUP,
SQ.CSDB_ESG1,
SQ.CSDB_ESG2,
SQ.CSDB_ESG3,
SQ.REU_SECURITY_DESCRIPTION,
SQ.REU_ASSET_CATEGORY,
SQ.REU_ASSET_CATEGORY_DESCRIPTION,
SQ.REU_ASSET_TYPE,
SQ.REU_ASSET_TYPE_DESCRIPTION,
SQ.REU_ASSET_SUBTYPE,
SQ.REU_ASSET_SUBTYPE_DESCRIPTION,
SQ.REU_ISO_CURRENCY,
SQ.BBG_DES_NOTES,
SQ.BBG_INDUSTRY_SUBGROUP,
SQ.BBG_SECURITY_TYP,
SQ.BBG_SECURITY_TYP2,
SQ.UOC_RESET_PERIOD_MORE_ONE_YEAR,
SQ.EA_EXTENSION_OPTION_EXERCISED,
SQ.EA_EFFECTIVE_MATURITY_DATE,
SQ.EA_COVERED_BOND_OU,
SQ.EA_OWN_USE_HAIRCUT,
SQ.EA_CQS,
SQ.EA_EXTENDIBLE,
SQ.EA_EXTENSION_TRIGGER,
SQ.EA_EXTENDED_MATURITY_DATE,
SQ.EA_ABS_PUBL_SURVEIL_DATE2,
SQ.BBG_TICKER,
SQ.BBG_STRIP_TYPE,
SQ.BBG_EXCHANGE_CODE,
SQ.BBG_PRVT_PLACE,
SQ.BBG_PUTABLE,
SQ.BBG_ISSUER_INDUSTRY,
SQ.BBG_INFLATION_LINKED_INDICATOR,
SQ.CSDB_IS_PRIVATE_PLACEMENT,
SQ.CLASSIFICATION_C2D,
SQ.CLASSIFICATION_TMS,
SQ.ISSUE_DATE_TMS,
SQ.ISSUE_DATE_CSDB,
SQ.CURRENCY_TMS,
SQ.CURRENCY_MDP,
SQ.CURRENCY_CSDB,
SQ.COUPON_TYPE_MDP,
SQ.COUPON_TYPE_CSDB,
SQ.POOL_FACTOR_CEPH,
SQ.POOL_FACTOR_CSDB,
SQ.MATURITY_DATE_TMS,
SQ.MATURITY_DATE_MDP,
SQ.CP_PROGRAMME,
SQ.C2D_ELA_ABS_TYPE,
SQ.C2D_EA_ABS_TYPE,
SQ.C2D_EA_MATURITY_DATE,
SQ.C2D_UC_MATURITY_DATE,
SQ.C2D_UC_ASSET_TYPE,
SQ.C2D_EA_ASSET_TYPE,
SQ.C2D_ELA_ASSET_TYPE,
SQ.C2D_UC_DENOMINATION,
SQ.C2D_EA_DENOMINATION,
SQ.C2D_UC_OA_ID,
SQ.C2D_UC_CONTRACT_ID,
SQ.C2D_UC_INSTRMNT_ID,
SQ.MDP_CMA_DEFAULTED_DATE,
SQ.MDP_CMA_DEFAULTED_STANDARD,
SQ.MDP_CMA_QUOTE_CONVENTION,
SQ.MDP_CMA_RESTRUCTURING_TYPE,
SQ.MDP_CMA_MATURITY_DATE,
SQ.MDP_CMA_TENOR,
SQ.MDP_CMA_SENIORITY,
SQ.MDP_CMA_INSTRUMENT_TYPE,
SQ.MDP_CMA_CURRENCY,
SQ.C2D_EA_REFERENCE_RATE,
SQ.C2D_EA_GREEN_SUSTAINABLE,
SQ.TMS_FUTURES_MATURITY_BUCKET,
SQ.BBG_MTY_YEARS_TDY,
CURRENT_DATE AS FROM_DATE
FROM {{ ref("m_DWH_ASSET_NH_ASSET_TE_ASSET_LOAD_SQ") }} SQ
LEFT JOIN DW_RAR.NH_ASSET_snapshot LKP ON LKP.ASSET_KEY=SQ.ASSET_KEY AND LKP.dbt_valid_to IS NULL
WHERE LKP.ASSET_KEY IS NULL OR
(LKP.ASSET_KEY IS NOT NULL AND
COALESCE(SQ.IS_SECURED, '>>NULL<<') != COALESCE(LKP.IS_SECURED, '>>NULL<<') OR
COALESCE(SQ.CLASSIFICATION, '>>NULL<<') != COALESCE(LKP.CLASSIFICATION, '>>NULL<<') OR
COALESCE(SQ.IS_EXTENDIBLE, '>>NULL<<') != COALESCE(LKP.IS_EXTENDIBLE, '>>NULL<<') OR
COALESCE(SQ.EA_IS_EMERGENCY_COLLATERAL, '>>NULL<<') != COALESCE(LKP.EA_IS_EMERGENCY_COLLATERAL, '>>NULL<<') OR
COALESCE(SQ.TMS_GROUP_PATH, '>>NULL<<') != COALESCE(LKP.TMS_GROUP_PATH, '>>NULL<<') OR
COALESCE(SQ.TMS_GROUP_PATH_NAME, '>>NULL<<') != COALESCE(LKP.TMS_GROUP_PATH_NAME, '>>NULL<<') OR
COALESCE(SQ.ISSUE_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.ISSUE_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.MATURITY_LAST_REDEMPTION_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.MATURITY_LAST_REDEMPTION_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.TMS_ACTIVE_SINCE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.TMS_ACTIVE_SINCE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.TMS_ACTIVE_UNTIL, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.TMS_ACTIVE_UNTIL, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.CURRENCY, '>>NULL<<') != COALESCE(LKP.CURRENCY, '>>NULL<<') OR
COALESCE(SQ.CURRENCY_2, '>>NULL<<') != COALESCE(LKP.CURRENCY_2, '>>NULL<<') OR
COALESCE(SQ.INTEREST_RATE, '>>NULL<<') != COALESCE(LKP.INTEREST_RATE, '>>NULL<<') OR
COALESCE(SQ.TMS_TYPE, '>>NULL<<') != COALESCE(LKP.TMS_TYPE, '>>NULL<<') OR
COALESCE(SQ.PERIOD_ID, '>>NULL<<') != COALESCE(LKP.PERIOD_ID, '>>NULL<<') OR
COALESCE(SQ.PRICING_TYPE, '>>NULL<<') != COALESCE(LKP.PRICING_TYPE, '>>NULL<<') OR
COALESCE(SQ.ASSET_BBG_NAME, '>>NULL<<') != COALESCE(LKP.ASSET_BBG_NAME, '>>NULL<<') OR
COALESCE(SQ.BBG_BM_IDX, '>>NULL<<') != COALESCE(LKP.BBG_BM_IDX, '>>NULL<<') OR
COALESCE(SQ.BBG_FLT_BM_MULTIPLIER, 0) != COALESCE(LKP.BBG_FLT_BM_MULTIPLIER, 0) OR
COALESCE(SQ.BBG_COLLAT_TYPE, '>>NULL<<') != COALESCE(LKP.BBG_COLLAT_TYPE, '>>NULL<<') OR
COALESCE(SQ.BBG_MARKET_ISSUE, '>>NULL<<') != COALESCE(LKP.BBG_MARKET_ISSUE, '>>NULL<<') OR
COALESCE(SQ.BBG_MATURITY_TYPE, '>>NULL<<') != COALESCE(LKP.BBG_MATURITY_TYPE, '>>NULL<<') OR
COALESCE(SQ.COUPON_TYPE, '>>NULL<<') != COALESCE(LKP.COUPON_TYPE, '>>NULL<<') OR
COALESCE(SQ.POOL_FACTOR, 0) != COALESCE(LKP.POOL_FACTOR, 0) OR
COALESCE(SQ.BBG_FLT_SPREAD, 0) != COALESCE(LKP.BBG_FLT_SPREAD, 0) OR
COALESCE(SQ.CSDB_REDEMPTION_TYPE, '>>NULL<<') != COALESCE(LKP.CSDB_REDEMPTION_TYPE, '>>NULL<<') OR
COALESCE(SQ.CSDB_REDEMPTION_FREQ, '>>NULL<<') != COALESCE(LKP.CSDB_REDEMPTION_FREQ, '>>NULL<<') OR
COALESCE(SQ.CSDB_REDEMPTION_PRICE, 0) != COALESCE(LKP.CSDB_REDEMPTION_PRICE, 0) OR
COALESCE(SQ.CSDB_ISSUE_PRICE, 0) != COALESCE(LKP.CSDB_ISSUE_PRICE, 0) OR
COALESCE(SQ.CSDB_STATUS, '>>NULL<<') != COALESCE(LKP.CSDB_STATUS, '>>NULL<<') OR
COALESCE(SQ.UOC_INTEREST_PAYMENT_TYPE, '>>NULL<<') != COALESCE(LKP.UOC_INTEREST_PAYMENT_TYPE, '>>NULL<<') OR
COALESCE(SQ.EA_CSD, '>>NULL<<') != COALESCE(LKP.EA_CSD, '>>NULL<<') OR
COALESCE(SQ.C2D_ASSET_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_ASSET_TYPE, '>>NULL<<') OR
COALESCE(SQ.EA_COUPON_TYPE, '>>NULL<<') != COALESCE(LKP.EA_COUPON_TYPE, '>>NULL<<') OR
COALESCE(SQ.EA_REF_MARKET, '>>NULL<<') != COALESCE(LKP.EA_REF_MARKET, '>>NULL<<') OR
COALESCE(SQ.EA_CRD_OR_EQUIV, '>>NULL<<') != COALESCE(LKP.EA_CRD_OR_EQUIV, '>>NULL<<') OR
COALESCE(SQ.EA_IS_ABS_LLD, '>>NULL<<') != COALESCE(LKP.EA_IS_ABS_LLD, '>>NULL<<') OR
COALESCE(SQ.EA_IS_ABS_LLD_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.EA_IS_ABS_LLD_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.EA_ABS_SURVEIL_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.EA_ABS_SURVEIL_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.EA_ABS_TYPE, '>>NULL<<') != COALESCE(LKP.EA_ABS_TYPE, '>>NULL<<') OR
COALESCE(SQ.EA_CEPH_IS_INFLAT, '>>NULL<<') != COALESCE(LKP.EA_CEPH_IS_INFLAT, '>>NULL<<') OR
COALESCE(SQ.EA_CEPH_IS_CALL_PUT, '>>NULL<<') != COALESCE(LKP.EA_CEPH_IS_CALL_PUT, '>>NULL<<') OR
COALESCE(SQ.EA_CEPH_IS_SINKABLE, '>>NULL<<') != COALESCE(LKP.EA_CEPH_IS_SINKABLE, '>>NULL<<') OR
COALESCE(SQ.EA_CEPH_COMMENT, '>>NULL<<') != COALESCE(LKP.EA_CEPH_COMMENT, '>>NULL<<') OR
COALESCE(SQ.EA_IS_OUTRIGHT_PURCHASE, '>>NULL<<') != COALESCE(LKP.EA_IS_OUTRIGHT_PURCHASE, '>>NULL<<') OR
COALESCE(SQ.EA_LIQ_CLASS, '>>NULL<<') != COALESCE(LKP.EA_LIQ_CLASS, '>>NULL<<') OR
COALESCE(SQ.EA_DENOMINATION, '>>NULL<<') != COALESCE(LKP.EA_DENOMINATION, '>>NULL<<') OR
COALESCE(SQ.EA_NAME, '>>NULL<<') != COALESCE(LKP.EA_NAME, '>>NULL<<') OR
COALESCE(SQ.EA_VALIDATION_STATUS, '>>NULL<<') != COALESCE(LKP.EA_VALIDATION_STATUS, '>>NULL<<') OR
COALESCE(SQ.EA_NCB_COMMENT, '>>NULL<<') != COALESCE(LKP.EA_NCB_COMMENT, '>>NULL<<') OR
COALESCE(SQ.EA_ISSUANCE_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.EA_ISSUANCE_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.C2D_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.C2D_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.UOC_BUCKET_SIZE, '>>NULL<<') != COALESCE(LKP.UOC_BUCKET_SIZE, '>>NULL<<') OR
COALESCE(SQ.IS_ELIGIBLE_VIA_GUARANTOR, '>>NULL<<') != COALESCE(LKP.IS_ELIGIBLE_VIA_GUARANTOR, '>>NULL<<') OR
COALESCE(SQ.UOC_RESIDUAL_MATURITY, '>>NULL<<') != COALESCE(LKP.UOC_RESIDUAL_MATURITY, '>>NULL<<') OR
COALESCE(SQ.EA_SENDER_CODE, '>>NULL<<') != COALESCE(LKP.EA_SENDER_CODE, '>>NULL<<') OR
COALESCE(SQ.EA_NON_OWN_USE_HAIRCUT, 0) != COALESCE(LKP.EA_NON_OWN_USE_HAIRCUT, 0) OR
COALESCE(SQ.ACCOUNTING_TYPE, '>>NULL<<') != COALESCE(LKP.ACCOUNTING_TYPE, '>>NULL<<') OR
COALESCE(SQ.GROUPING_VALUE, '>>NULL<<') != COALESCE(LKP.GROUPING_VALUE, '>>NULL<<') OR
COALESCE(SQ.SPREAD_TYPE, '>>NULL<<') != COALESCE(LKP.SPREAD_TYPE, '>>NULL<<') OR
COALESCE(SQ.TMS_ELIGIBILITY_TYPE, '>>NULL<<') != COALESCE(LKP.TMS_ELIGIBILITY_TYPE, '>>NULL<<') OR
COALESCE(SQ.REF_AMOUNT_BUCKET, '>>NULL<<') != COALESCE(LKP.REF_AMOUNT_BUCKET, '>>NULL<<') OR
COALESCE(SQ.ISSUANCE_TYPE, '>>NULL<<') != COALESCE(LKP.ISSUANCE_TYPE, '>>NULL<<') OR
COALESCE(SQ.BRANCH6_ID, '>>NULL<<') != COALESCE(LKP.BRANCH6_ID, '>>NULL<<') OR
COALESCE(SQ.BRANCH7_ID, '>>NULL<<') != COALESCE(LKP.BRANCH7_ID, '>>NULL<<') OR
COALESCE(SQ.BRANCH8_ID, '>>NULL<<') != COALESCE(LKP.BRANCH8_ID, '>>NULL<<') OR
COALESCE(SQ.BRANCH9_ID, '>>NULL<<') != COALESCE(LKP.BRANCH9_ID, '>>NULL<<') OR
COALESCE(SQ.TMS_NAME, '>>NULL<<') != COALESCE(LKP.TMS_NAME, '>>NULL<<') OR
COALESCE(SQ.CSDB_CSD, '>>NULL<<') != COALESCE(LKP.CSDB_CSD, '>>NULL<<') OR
COALESCE(SQ.CSDB_SECURITISATION_TYPE, '>>NULL<<') != COALESCE(LKP.CSDB_SECURITISATION_TYPE, '>>NULL<<') OR
COALESCE(SQ.CFI_CLASSIFICATION, '>>NULL<<') != COALESCE(LKP.CFI_CLASSIFICATION, '>>NULL<<') OR
COALESCE(SQ.INSTRUMENT_ESA_95_CLASS, '>>NULL<<') != COALESCE(LKP.INSTRUMENT_ESA_95_CLASS, '>>NULL<<') OR
COALESCE(SQ.INSTR_ESA_95_CLASS_VAL_TYPE, '>>NULL<<') != COALESCE(LKP.INSTR_ESA_95_CLASS_VAL_TYPE, '>>NULL<<') OR
COALESCE(SQ.INSTRUMENT_ESA_2010_CLASS, '>>NULL<<') != COALESCE(LKP.INSTRUMENT_ESA_2010_CLASS, '>>NULL<<') OR
COALESCE(SQ.REDEMPTION_CURRENCY, '>>NULL<<') != COALESCE(LKP.REDEMPTION_CURRENCY, '>>NULL<<') OR
COALESCE(SQ.CSDB_SUPPL_INFO, '>>NULL<<') != COALESCE(LKP.CSDB_SUPPL_INFO, '>>NULL<<') OR
COALESCE(SQ.CAP, '>>NULL<<') != COALESCE(LKP.CAP, '>>NULL<<') OR
COALESCE(SQ.REFERENCERATE, '>>NULL<<') != COALESCE(LKP.REFERENCERATE, '>>NULL<<') OR
COALESCE(SQ.REFERENCERATECOMMENT, '>>NULL<<') != COALESCE(LKP.REFERENCERATECOMMENT, '>>NULL<<') OR
COALESCE(SQ.BBG_FLOATER, '>>NULL<<') != COALESCE(LKP.BBG_FLOATER, '>>NULL<<') OR
COALESCE(SQ.BBG_INDUSTRY_GROUP, '>>NULL<<') != COALESCE(LKP.BBG_INDUSTRY_GROUP, '>>NULL<<') OR
COALESCE(SQ.CSDB_ESG1, '>>NULL<<') != COALESCE(LKP.CSDB_ESG1, '>>NULL<<') OR
COALESCE(SQ.CSDB_ESG2, '>>NULL<<') != COALESCE(LKP.CSDB_ESG2, '>>NULL<<') OR
COALESCE(SQ.CSDB_ESG3, '>>NULL<<') != COALESCE(LKP.CSDB_ESG3, '>>NULL<<') OR
COALESCE(SQ.REU_SECURITY_DESCRIPTION, '>>NULL<<') != COALESCE(LKP.REU_SECURITY_DESCRIPTION, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_CATEGORY, '>>NULL<<') != COALESCE(LKP.REU_ASSET_CATEGORY, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_CATEGORY_DESCRIPTION, '>>NULL<<') != COALESCE(LKP.REU_ASSET_CATEGORY_DESCRIPTION, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_TYPE, '>>NULL<<') != COALESCE(LKP.REU_ASSET_TYPE, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_TYPE_DESCRIPTION, '>>NULL<<') != COALESCE(LKP.REU_ASSET_TYPE_DESCRIPTION, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_SUBTYPE, '>>NULL<<') != COALESCE(LKP.REU_ASSET_SUBTYPE, '>>NULL<<') OR
COALESCE(SQ.REU_ASSET_SUBTYPE_DESCRIPTION, '>>NULL<<') != COALESCE(LKP.REU_ASSET_SUBTYPE_DESCRIPTION, '>>NULL<<') OR
COALESCE(SQ.REU_ISO_CURRENCY, '>>NULL<<') != COALESCE(LKP.REU_ISO_CURRENCY, '>>NULL<<') OR
COALESCE(SQ.BBG_DES_NOTES, '>>NULL<<') != COALESCE(LKP.BBG_DES_NOTES, '>>NULL<<') OR
COALESCE(SQ.BBG_INDUSTRY_SUBGROUP, '>>NULL<<') != COALESCE(LKP.BBG_INDUSTRY_SUBGROUP, '>>NULL<<') OR
COALESCE(SQ.BBG_SECURITY_TYP, '>>NULL<<') != COALESCE(LKP.BBG_SECURITY_TYP, '>>NULL<<') OR
COALESCE(SQ.BBG_SECURITY_TYP2, '>>NULL<<') != COALESCE(LKP.BBG_SECURITY_TYP2, '>>NULL<<') OR
COALESCE(SQ.UOC_RESET_PERIOD_MORE_ONE_YEAR, '>>NULL<<') != COALESCE(LKP.UOC_RESET_PERIOD_MORE_ONE_YEAR, '>>NULL<<') OR
COALESCE(SQ.EA_EXTENSION_OPTION_EXERCISED, '>>NULL<<') != COALESCE(LKP.EA_EXTENSION_OPTION_EXERCISED, '>>NULL<<') OR
COALESCE(SQ.EA_EFFECTIVE_MATURITY_DATE, TO_DATE('01/01/0001','mm/dd/yyyy')) != COALESCE(LKP.EA_EFFECTIVE_MATURITY_DATE, TO_DATE('01/01/0001','mm/dd/yyyy')) OR
COALESCE(SQ.EA_COVERED_BOND_OU, '>>NULL<<') != COALESCE(LKP.EA_COVERED_BOND_OU, '>>NULL<<') OR
COALESCE(SQ.EA_OWN_USE_HAIRCUT, 0) != COALESCE(LKP.EA_OWN_USE_HAIRCUT, 0) OR
COALESCE(SQ.EA_CQS, 0) != COALESCE(LKP.EA_CQS, 0) OR
COALESCE(SQ.EA_EXTENDIBLE, '>>NULL<<') != COALESCE(LKP.EA_EXTENDIBLE, '>>NULL<<') OR
COALESCE(SQ.EA_EXTENSION_TRIGGER, '>>NULL<<') != COALESCE(LKP.EA_EXTENSION_TRIGGER, '>>NULL<<') OR
COALESCE(SQ.EA_EXTENDED_MATURITY_DATE, TO_DATE('01/01/0001','mm/dd/yyyy')) != COALESCE(LKP.EA_EXTENDED_MATURITY_DATE, TO_DATE('01/01/0001','mm/dd/yyyy')) OR
COALESCE(SQ.EA_ABS_PUBL_SURVEIL_DATE2, TO_DATE('01/01/0001','mm/dd/yyyy')) != COALESCE(LKP.EA_ABS_PUBL_SURVEIL_DATE2, TO_DATE('01/01/0001','mm/dd/yyyy')) OR
COALESCE(SQ.BBG_TICKER, '>>NULL<<') != COALESCE(LKP.BBG_TICKER, '>>NULL<<') OR
COALESCE(SQ.BBG_STRIP_TYPE, '>>NULL<<') != COALESCE(LKP.BBG_STRIP_TYPE, '>>NULL<<') OR
COALESCE(SQ.BBG_EXCHANGE_CODE, '>>NULL<<') != COALESCE(LKP.BBG_EXCHANGE_CODE, '>>NULL<<') OR
COALESCE(SQ.BBG_PRVT_PLACE, '>>NULL<<') != COALESCE(LKP.BBG_PRVT_PLACE, '>>NULL<<') OR
COALESCE(SQ.BBG_PUTABLE, '>>NULL<<') != COALESCE(LKP.BBG_PUTABLE, '>>NULL<<') OR
COALESCE(SQ.BBG_ISSUER_INDUSTRY, '>>NULL<<') != COALESCE(LKP.BBG_ISSUER_INDUSTRY, '>>NULL<<') OR
COALESCE(SQ.BBG_INFLATION_LINKED_INDICATOR, '>>NULL<<') != COALESCE(LKP.BBG_INFLATION_LINKED_INDICATOR, '>>NULL<<') OR
COALESCE(SQ.CSDB_IS_PRIVATE_PLACEMENT, '>>NULL<<') != COALESCE(LKP.CSDB_IS_PRIVATE_PLACEMENT, '>>NULL<<') OR
COALESCE(SQ.CLASSIFICATION_C2D, '>>NULL<<') != COALESCE(LKP.CLASSIFICATION_C2D, '>>NULL<<') OR
COALESCE(SQ.CLASSIFICATION_TMS, '>>NULL<<') != COALESCE(LKP.CLASSIFICATION_TMS, '>>NULL<<') OR
COALESCE(SQ.ISSUE_DATE_TMS, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.ISSUE_DATE_TMS, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.ISSUE_DATE_CSDB, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.ISSUE_DATE_CSDB, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.CURRENCY_TMS, '>>NULL<<') != COALESCE(LKP.CURRENCY_TMS, '>>NULL<<') OR
COALESCE(SQ.CURRENCY_MDP, '>>NULL<<') != COALESCE(LKP.CURRENCY_MDP, '>>NULL<<') OR
COALESCE(SQ.CURRENCY_CSDB, '>>NULL<<') != COALESCE(LKP.CURRENCY_CSDB, '>>NULL<<') OR
COALESCE(SQ.COUPON_TYPE_MDP, '>>NULL<<') != COALESCE(LKP.COUPON_TYPE_MDP, '>>NULL<<') OR
COALESCE(SQ.COUPON_TYPE_CSDB, '>>NULL<<') != COALESCE(LKP.COUPON_TYPE_CSDB, '>>NULL<<') OR
COALESCE(SQ.POOL_FACTOR_CEPH, 0) != COALESCE(LKP.POOL_FACTOR_CEPH, 0) OR
COALESCE(SQ.POOL_FACTOR_CSDB, 0) != COALESCE(LKP.POOL_FACTOR_CSDB, 0) OR
COALESCE(SQ.MATURITY_DATE_TMS, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.MATURITY_DATE_TMS, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.MATURITY_DATE_MDP, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.MATURITY_DATE_MDP, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.CP_PROGRAMME, '>>NULL<<') != COALESCE(LKP.CP_PROGRAMME, '>>NULL<<') OR
COALESCE(SQ.C2D_ELA_ABS_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_ELA_ABS_TYPE, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_ABS_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_EA_ABS_TYPE, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.C2D_EA_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.C2D_UC_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) != COALESCE(LKP.C2D_UC_MATURITY_DATE, TO_DATE('01/01/2001','mm/dd/yyyy')) OR
COALESCE(SQ.C2D_UC_ASSET_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_UC_ASSET_TYPE, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_ASSET_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_EA_ASSET_TYPE, '>>NULL<<') OR
COALESCE(SQ.C2D_ELA_ASSET_TYPE, '>>NULL<<') != COALESCE(LKP.C2D_ELA_ASSET_TYPE, '>>NULL<<') OR
COALESCE(SQ.C2D_UC_DENOMINATION, '>>NULL<<') != COALESCE(LKP.C2D_UC_DENOMINATION, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_DENOMINATION, '>>NULL<<') != COALESCE(LKP.C2D_EA_DENOMINATION, '>>NULL<<') OR
COALESCE(SQ.C2D_UC_OA_ID, '>>NULL<<') != COALESCE(LKP.C2D_UC_OA_ID, '>>NULL<<') OR
COALESCE(SQ.C2D_UC_CONTRACT_ID, '>>NULL<<') != COALESCE(LKP.C2D_UC_CONTRACT_ID, '>>NULL<<') OR
COALESCE(SQ.C2D_UC_INSTRMNT_ID, '>>NULL<<') != COALESCE(LKP.C2D_UC_INSTRMNT_ID, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_DEFAULTED_DATE, TO_DATE('01/01/2001' ,'mm/dd/yyyy')) != COALESCE(LKP.MDP_CMA_DEFAULTED_DATE, TO_DATE('01/01/2001' ,'mm/dd/yyyy')) OR
COALESCE(SQ.MDP_CMA_DEFAULTED_STANDARD, '>>NULL<<') != COALESCE(LKP.MDP_CMA_DEFAULTED_STANDARD, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_QUOTE_CONVENTION, '>>NULL<<') != COALESCE(LKP.MDP_CMA_QUOTE_CONVENTION, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_RESTRUCTURING_TYPE, '>>NULL<<') != COALESCE(LKP.MDP_CMA_RESTRUCTURING_TYPE, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_MATURITY_DATE, TO_DATE('01/01/2001' ,'mm/dd/yyyy')) != COALESCE(LKP.MDP_CMA_MATURITY_DATE, TO_DATE('01/01/2001' ,'mm/dd/yyyy')) OR
COALESCE(SQ.MDP_CMA_TENOR, -999999999) != COALESCE(LKP.MDP_CMA_TENOR, -999999999) OR
COALESCE(SQ.BBG_MTY_YEARS_TDY, -999999999) != COALESCE(LKP.BBG_MTY_YEARS_TDY, -999999999) OR
COALESCE(SQ.MDP_CMA_SENIORITY, '>>NULL<<') != COALESCE(LKP.MDP_CMA_SENIORITY, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_INSTRUMENT_TYPE, '>>NULL<<') != COALESCE(LKP.MDP_CMA_INSTRUMENT_TYPE, '>>NULL<<') OR
COALESCE(SQ.MDP_CMA_CURRENCY, '>>NULL<<') != COALESCE(LKP.MDP_CMA_CURRENCY, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_REFERENCE_RATE, '>>NULL<<') != COALESCE(LKP.C2D_EA_REFERENCE_RATE, '>>NULL<<') OR
COALESCE(SQ.C2D_EA_GREEN_SUSTAINABLE, '>>NULL<<') != COALESCE(LKP.C2D_EA_GREEN_SUSTAINABLE, '>>NULL<<') OR
COALESCE(SQ.TMS_FUTURES_MATURITY_BUCKET, '>>NULL<<') != COALESCE(LKP.TMS_FUTURES_MATURITY_BUCKET, '>>NULL<<')
)
{% endsnapshot %}

View File

@@ -0,0 +1,35 @@
{% snapshot m_DWH_FXCD_NH_F_BRANCH %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_BRANCH_MARS',
unique_key=['BRANCH_ID'],
strategy='check',
check_cols=['ENTITY_ID',
'CTP_ID'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_BRANCH"]
)
}}
SELECT
((SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1)) AS A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CAST(BRANCH_ID AS NUMBER(28,0)) AS BRANCH_ID,
CAST(ENTITY_ID AS NUMBER(28,0)) AS ENTITY_ID,
CAST(CTP_ID AS NUMBER(28,0)) AS CTP_ID
FROM {{ source('ods','F_BRANCH') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_BRANCH",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,51 @@
{% snapshot m_DWH_FXCD_NH_F_CLEARER %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CLEARER_MARS',
unique_key=['CLEARER_ID'],
strategy='check',
check_cols=['ENTITY_ID',
'ELIGIBILITY_OF_FLAG',
'ELIGIBILITY_FR_FLAG',
'ACTIVE_FLAG',
'OVERALL_OF_LIMIT_AMT',
'CASH_OF_LIMIT_AMT',
'SECURITIES_OF_LIMIT_AMT',
'OVERALL_FR_LIMIT_AMT',
'CASH_FR_LIMIT_AMT',
'SECURITIES_FR_LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CLEARER"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CLEARER_ID,
ENTITY_ID,
{{clean_boolean_fxcd('ELIGIBILITY_OF_FLAG')}} AS ELIGIBILITY_OF_FLAG,
{{clean_boolean_fxcd('ELIGIBILITY_FR_FLAG')}} AS ELIGIBILITY_FR_FLAG,
{{clean_boolean_fxcd('ACTIVE_FLAG')}} AS ACTIVE_FLAG,
OVERALL_OF_LIMIT_AMT,
CASH_OF_LIMIT_AMT,
SECURITIES_OF_LIMIT_AMT,
OVERALL_FR_LIMIT_AMT,
CASH_FR_LIMIT_AMT,
SECURITIES_FR_LIMIT_AMT
FROM {{ source('ods', 'F_CLEARER') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CLEARER",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,39 @@
{% snapshot m_DWH_FXCD_NH_F_CLEARER_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CLEARER_NCB_LIMIT_MARS',
unique_key=['CLEARER_ID',
'COUNTRY_ID'],
strategy='check',
check_cols=['OVERALL_LIMIT_AMT',
'CASH_LIMIT_AMT',
'SECURITIES_LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CLEARER_NCB_LIMIT"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CLEARER_ID,
COUNTRY_ID,
OVERALL_LIMIT_AMT,
CASH_LIMIT_AMT,
SECURITIES_LIMIT_AMT
FROM {{ source('ods', 'F_CLEARER_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CLEARER_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,35 @@
{% snapshot m_DWH_FXCD_NH_F_CONSTANT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CONSTANT_MARS',
unique_key=['CONSTANT_NAME'],
strategy='check',
check_cols=['CONSTANT_VALUE',
'CONSTANT_TYPE'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CONSTANT"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CONSTANT_NAME,
CONSTANT_VALUE,
CONSTANT_TYPE
FROM {{ source('ods', 'F_CONSTANT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CONSTANT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,62 @@
{% snapshot m_DWH_FXCD_NH_F_COUNTERPARTY %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_COUNTERPARTY_MARS',
unique_key=['CTP_ID'],
strategy='check',
check_cols=['ENTITY_ID',
'CTP_GROUP_FKIT_CODE',
'ACTIVE_FLAG',
'CTP_COMMENT',
'GUARANTOR_ID',
'OF_OVERALL_LMT_AMT',
'OF_MANUAL_FLAG',
'FR_OVERALL_LMT_AMT',
'FR_MANUAL_FLAG',
'MP_OVERALL_LMT_AMT',
'MP_MANUAL_FLAG',
'EOI_CTP_GROUP',
'ART_101_FLAG',
'MEDIAN_CAPITAL_FLAG',
'CHANGE_DESCRIPTION'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_COUNTERPARTY"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CTP_ID,
ENTITY_ID,
CTP_GROUP_FKIT_CODE,
{{clean_boolean_fxcd('ACTIVE_FLAG')}} AS ACTIVE_FLAG,
CTP_COMMENT,
GUARANTOR_ID,
OF_OVERALL_LMT_AMT,
{{clean_boolean_fxcd('OF_MANUAL_FLAG')}} AS OF_MANUAL_FLAG,
FR_OVERALL_LMT_AMT,
{{clean_boolean_fxcd('FR_MANUAL_FLAG')}} AS FR_MANUAL_FLAG,
MP_OVERALL_LMT_AMT,
{{clean_boolean_fxcd('MP_MANUAL_FLAG')}} AS MP_MANUAL_FLAG,
EOI_CTP_GROUP,
{{clean_boolean_fxcd('ART_101_FLAG')}} AS ART_101_FLAG,
{{clean_boolean_fxcd('MEDIAN_CAPITAL_FLAG')}} AS MEDIAN_CAPITAL_FLAG,
CHANGE_DESCRIPTION
FROM {{ source('ods', 'F_COUNTERPARTY') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_COUNTERPARTY",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,71 @@
{% snapshot m_DWH_FXCD_NH_F_COUNTRY %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_COUNTRY_MARS',
unique_key=['COUNTRY_ID'],
strategy='check',
check_cols=['ENTITY_ID',
'COUNTRY_GDP',
'NCB_USD_LAMBDA',
'OF_FLAG',
'FR_FLAG',
'EU_FLAG',
'EUROSYSTEM_FLAG',
'FR_PORTF_SHARE_OPTOUT',
'FR_LIMIT_CALC_OPTOUT',
'COUNTRY_COMMENT',
'OF_LMT_AMNT',
'OF_MANUAL_FLAG',
'FR_LMT_AMNT',
'FR_MANUAL_FLAG',
'USD_PORTFOLIO_EUR_SIZE',
'JPY_PORTFOLIO_EUR_SIZE',
'CAPITAL_KEY_AMNT',
'LAMBDA_MANUAL_FLAG',
'CNY_PORTFOLIO_EUR_SIZE',
'CHANGE_DESCRIPTION'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_COUNTRY"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
COUNTRY_ID,
ENTITY_ID,
COUNTRY_GDP,
NCB_USD_LAMBDA,
{{clean_boolean_fxcd('OF_FLAG')}} AS OF_FLAG,
{{clean_boolean_fxcd('FR_FLAG')}} AS FR_FLAG,
{{clean_boolean_fxcd('EU_FLAG')}} AS EU_FLAG,
{{clean_boolean_fxcd('EUROSYSTEM_FLAG')}} AS EUROSYSTEM_FLAG,
{{clean_boolean_fxcd('FR_PORTF_SHARE_OPTOUT')}} AS FR_PORTF_SHARE_OPTOUT,
{{clean_boolean_fxcd('FR_LIMIT_CALC_OPTOUT')}} AS FR_LIMIT_CALC_OPTOUT,
COUNTRY_COMMENT,
OF_LMT_AMNT,
{{clean_boolean_fxcd('OF_MANUAL_FLAG')}} AS OF_MANUAL_FLAG,
FR_LMT_AMNT,
{{clean_boolean_fxcd('FR_MANUAL_FLAG')}} AS FR_MANUAL_FLAG,
USD_PORTFOLIO_EUR_SIZE,
JPY_PORTFOLIO_EUR_SIZE,
CAPITAL_KEY_AMNT,
{{clean_boolean_fxcd('LAMBDA_MANUAL_FLAG')}} AS LAMBDA_MANUAL_FLAG,
CNY_PORTFOLIO_EUR_SIZE,
CHANGE_DESCRIPTION
FROM {{ source('ods', 'F_COUNTRY') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_COUNTRY",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,39 @@
{% snapshot m_DWH_FXCD_NH_F_COUNTRY_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_COUNTRY_NCB_LIMIT_MARS',
unique_key=['COUNTRY_ID',
'NCB_COUNTRY_ID'],
strategy='check',
check_cols=['USD_LIMIT_AMT',
'JPY_LIMIT_AMT',
'TOTAL_LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_COUNTRY_NCB_LIMIT"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
COUNTRY_ID,
NCB_COUNTRY_ID,
USD_LIMIT_AMT,
JPY_LIMIT_AMT,
TOTAL_LIMIT_AMT
FROM {{ source('ods', 'F_COUNTRY_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_COUNTRY_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,39 @@
{% snapshot m_DWH_FXCD_NH_F_CTP_GROUP %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CTP_GROUP_MARS',
unique_key=['CTP_GROUP_FKIT_CODE'],
strategy='check',
check_cols=['CTP_GROUP_NAME',
'OF_MAX_LIMIT_AMT',
'FR_MP_MAX_LIMIT_AMT',
'ACTIVE'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CTP_GROUP"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
CTP_GROUP_FKIT_CODE,
CTP_GROUP_NAME,
OF_MAX_LIMIT_AMT,
FR_MP_MAX_LIMIT_AMT,
{{clean_boolean_fxcd('ACTIVE')}} AS ACTIVE
FROM {{ source('ods', 'F_CTP_GROUP') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CTP_GROUP",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,37 @@
{% snapshot m_DWH_FXCD_NH_F_CTP_GROUP_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CTP_GROUP_NCB_LIMIT_MARS',
unique_key=['COUNTRY_ID',
'CTP_GROUP_FKIT_CODE',
'ELIGIBILITY_ID'],
strategy='check',
check_cols=['LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CTP_GROUP_NCB_LIMIT"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
COUNTRY_ID,
CTP_GROUP_FKIT_CODE,
ELIGIBILITY_ID,
LIMIT_AMT
FROM {{ source('ods', 'F_CTP_GROUP_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CTP_GROUP_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,37 @@
{% snapshot m_DWH_FXCD_NH_F_CTP_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_CTP_NCB_LIMIT_MARS',
unique_key=['COUNTRY_ID',
'ELIGIBILITY_ID',
'CTP_ID'],
strategy='check',
check_cols=['LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_CTP_NCB_LIMIT"]
)
}}
SELECT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
{{ get_workflow_history_key() }} AS A_DWH_LOAD_SET_FK,
COUNTRY_ID,
ELIGIBILITY_ID,
CTP_ID,
LIMIT_AMT
FROM {{ source('ods', 'F_CTP_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_CTP_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,70 @@
{% snapshot m_DWH_FXCD_NH_F_ELIGIBILITY %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ELIGIBILITY_MARS',
unique_key=['ELIGIBILITY_ID'],
strategy='check',
check_cols=[
'ELIGIBILITY_TYPE',
'ELIGIBILITY_NAME',
'LIMIT_PERCENTAGE',
'LIMIT_AMT_MANUAL_FLAG',
'LIMIT_AMT',
'NCB_LMT_AMT_FLOOR',
'RATING_THRESHOLD',
'FKIT_SUBLIMIT_NAME',
'ELIGIBILITY_ORDER',
'LIMIT_DISTRIBUTION',
'CTP_MIN_REQ_RATINGS',
'LIMITS_CALCULATION',
'ART_101_FLAG',
'DEFINITION',
'FOR_CP_FLAG',
'FOR_CPG_FLAG',
'OVERALL_LIMIT_FLAG',
'IDENTIFIER'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ELIGIBILITY"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ELIGIBILITY_ID AS NUMBER(28,0)) AS ELIGIBILITY_ID,
CAST(ELIGIBILITY_TYPE AS VARCHAR2(2 CHAR)) AS ELIGIBILITY_TYPE,
CAST(ELIGIBILITY_NAME AS VARCHAR2(200 CHAR)) AS ELIGIBILITY_NAME,
CAST(LIMIT_PERCENTAGE AS NUMBER(28,10)) AS LIMIT_PERCENTAGE,
CAST({{ clean_boolean_fxcd('LIMIT_AMT_MANUAL_FLAG') }} AS CHAR(1 CHAR)) AS LIMIT_AMT_MANUAL_FLAG,
CAST(LIMIT_AMT AS NUMBER(28,10)) AS LIMIT_AMT,
CAST(NCB_LMT_AMT_FLOOR AS NUMBER(28,10)) AS NCB_LMT_AMT_FLOOR,
CAST(RATING_THRESHOLD AS VARCHAR2(4 CHAR)) AS RATING_THRESHOLD,
CAST(FKIT_SUBLIMIT_NAME AS VARCHAR2(30 CHAR)) AS FKIT_SUBLIMIT_NAME,
CAST(ELIGIBILITY_ORDER AS NUMBER(28,0)) AS ELIGIBILITY_ORDER,
CAST(LIMIT_DISTRIBUTION AS VARCHAR2(3 CHAR)) AS LIMIT_DISTRIBUTION,
CAST(CTP_MIN_REQ_RATINGS AS NUMBER(28,0)) AS CTP_MIN_REQ_RATINGS,
CAST({{ clean_boolean_fxcd('LIMITS_CALCULATION') }} AS CHAR(1 CHAR)) AS LIMITS_CALCULATION,
CAST({{ clean_boolean_fxcd('ART_101_FLAG') }} AS CHAR(1 CHAR)) AS ART_101_FLAG,
CAST(DEFINITION AS VARCHAR2(50 CHAR)) AS DEFINITION,
CAST(FOR_CP_FLAG AS VARCHAR2(1 CHAR)) AS FOR_CP_FLAG,
CAST(FOR_CPG_FLAG AS VARCHAR2(1 CHAR)) AS FOR_CPG_FLAG,
CAST(OVERALL_LIMIT_FLAG AS VARCHAR2(1 CHAR)) AS OVERALL_LIMIT_FLAG,
CAST(IDENTIFIER AS VARCHAR2(6 CHAR)) AS IDENTIFIER
FROM
{{ source('ods', 'F_ELIGIBILITY') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ELIGIBILITY",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,37 @@
{% snapshot m_DWH_FXCD_NH_F_ELIGIBILITY_GROUP_MAP %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ELIGIBILITY_GROUP_MAP_MARS',
unique_key=['CTP_GROUP_FKIT_CODE', 'ELIGIBILITY_ID'],
strategy='check',
check_cols=['LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ELIGIBILITY_GROUP_MAP"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(CTP_GROUP_FKIT_CODE AS VARCHAR2(4 CHAR)) AS CTP_GROUP_FKIT_CODE,
CAST(ELIGIBILITY_ID AS NUMBER(28,0)) AS ELIGIBILITY_ID,
CAST(NULL AS NUMBER(28,10)) AS OF_LIMIT_AMT, -- Not mapped in Informatica target, so excluded from check_cols
CAST(NULL AS NUMBER(28,10)) AS FR_MP_LIMIT_AMT, -- Not mapped in Informatica target, so excluded from check_cols
CAST(LIMIT_AMT AS NUMBER(28,10)) AS LIMIT_AMT
FROM
{{ source('ods', 'F_ELIGIBILITY_GROUP_MAP') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ELIGIBILITY_GROUP_MA",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,47 @@
{% snapshot m_DWH_FXCD_NH_F_ELIGIBILITY_ISSUER %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ELIGIBILITY_ISSUER_MARS',
unique_key=['ELIGIBILITY_ISSUER_ID'],
strategy='check',
check_cols=[
'ELIGIBILITY_ISSUER_NAME',
'ART_101_FLAG',
'RATING_THRESHOLD',
'DEFINITION',
'RATING_UPLIFT_FACTOR',
'ELIG_FLAG'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ELIGIBILITY_ISSUER"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ELIGIBILITY_ISSUER_ID AS NUMBER(28,0)) AS ELIGIBILITY_ISSUER_ID,
CAST(ELIGIBILITY_ISSUER_NAME AS VARCHAR2(200 CHAR)) AS ELIGIBILITY_ISSUER_NAME,
CAST({{ clean_boolean_fxcd('ART_101_FLAG') }} AS CHAR(1 CHAR)) AS ART_101_FLAG,
CAST(RATING_THRESHOLD AS VARCHAR2(4 CHAR)) AS RATING_THRESHOLD,
CAST(DEFINITION AS VARCHAR2(50 CHAR)) AS DEFINITION,
CAST(NULL AS CHAR(1 BYTE)) AS RATING_TERM_TYPE, -- Not mapped in Informatica target, so excluded from check_cols
CAST(RATING_UPLIFT_FACTOR AS NUMBER(28,0)) AS RATING_UPLIFT_FACTOR,
CAST({{ clean_boolean_fxcd('ELIG_FLAG') }} AS VARCHAR2(1 CHAR)) AS ELIG_FLAG
FROM
{{ source('ods', 'F_ELIGIBILITY_ISSUER') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ELIGIBILITY_ISSUER",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,36 @@
{% snapshot m_DWH_FXCD_NH_F_ELIGIBILITY_ISSUER_MAP %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ELIGIBILITY_ISS_MAP_MARS',
unique_key=['ISSUER_ID', 'ELIGIBILITY_ISSUER_ID'],
strategy='check',
check_cols=['ELEGIBLE_FLAG', 'MANUAL_ELIGIBLE_FLAG'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ELIGIBILITY_ISSUER_MAP"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ISSUER_ID AS NUMBER(28,0)) AS ISSUER_ID,
CAST(ELIGIBILITY_ISSUER_ID AS NUMBER(28,0)) AS ELIGIBILITY_ISSUER_ID,
CAST(ELEGIBLE_FLAG AS CHAR(1 CHAR)) AS ELEGIBLE_FLAG,
CAST(MANUAL_ELIGIBLE_FLAG AS CHAR(1 BYTE)) AS MANUAL_ELIGIBLE_FLAG
FROM
{{ source('ods', 'F_ELIGIBILITY_ISSUER_MAP') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ELIGIBILITY_ISSUER_M",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,39 @@
{% snapshot m_DWH_FXCD_NH_F_ELIGIBILITY_MAP %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ELIGIBILITY_MAP_MARS',
unique_key=['CTP_ID', 'ELIGIBILITY_ID'],
strategy='check',
check_cols=['LIMIT_AMT'],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ELIGIBILITY_MAP"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(CTP_ID AS NUMBER(28,0)) AS CTP_ID,
CAST(ELIGIBILITY_ID AS NUMBER(28,0)) AS ELIGIBILITY_ID,
CAST(NULL AS NUMBER(28,10)) AS OF_LIMIT_AMT, -- Not mapped in Informatica target, so excluded from check_cols
CAST(NULL AS CHAR(1 CHAR)) AS OF_FLAG, -- Not mapped in Informatica target, so excluded from check_cols
CAST(NULL AS NUMBER(28,10)) AS FR_LIMIT_AMT, -- Not mapped in Informatica target, so excluded from check_cols
CAST(NULL AS CHAR(1 CHAR)) AS FR_MP_FLAG, -- Not mapped in Informatica target, so excluded from check_cols
CAST(LIMIT_AMT AS NUMBER(28,10)) AS LIMIT_AMT
FROM
{{ source('ods', 'F_ELIGIBILITY_MAP') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ELIGIBILITY_MAP",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,54 @@
{% snapshot m_DWH_FXCD_NH_F_ENTITY %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ENTITY_MARS',
unique_key=['ENTITY_ID'],
strategy='check',
check_cols=[
'FKIT_CODE',
'ENTITY_NAME',
'BVD_BANK_INDEX_NUMBER',
'RISK_COUNTRY_ID',
'LT_MANUAL_RATING_FLAG',
'LT_SECOND_BEST_RATING',
'CAP_TIER1_AMT',
'CAP_EQUITY_AMT',
'BLOOMBERG_TICKER'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ENTITY"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ENTITY_ID AS NUMBER(28,0)) AS ENTITY_ID,
CAST(FKIT_CODE AS VARCHAR2(20 CHAR)) AS FKIT_CODE,
CAST(ENTITY_NAME AS VARCHAR2(200 CHAR)) AS ENTITY_NAME,
CAST(BVD_BANK_INDEX_NUMBER AS VARCHAR2(100 CHAR)) AS BVD_BANK_INDEX_NUMBER,
CAST(RISK_COUNTRY_ID AS CHAR(2 BYTE)) AS RISK_COUNTRY_ID,
CAST(NULL AS CHAR(1 CHAR)) AS ST_MANUAL_RATING_FLAG, -- Not mapped in Informatica target, so excluded from check_cols
CAST({{ clean_boolean_fxcd('LT_MANUAL_RATING_FLAG') }} AS CHAR(1 CHAR)) AS LT_MANUAL_RATING_FLAG,
CAST(NULL AS VARCHAR2(4 CHAR)) AS ST_SECOND_BEST_RATING, -- Not mapped in Informatica target, so excluded from check_cols
CAST(LT_SECOND_BEST_RATING AS VARCHAR2(4 CHAR)) AS LT_SECOND_BEST_RATING,
CAST(CAP_TIER1_AMT AS NUMBER(28,10)) AS CAP_TIER1_AMT,
CAST(CAP_EQUITY_AMT AS NUMBER(28,10)) AS CAP_EQUITY_AMT,
CAST(BLOOMBERG_TICKER AS VARCHAR2(20 CHAR)) AS BLOOMBERG_TICKER
FROM
{{ source('ods', 'F_ENTITY') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ENTITY",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,37 @@
{% snapshot m_DWH_FXCD_NH_F_EQUIVALENCE_RULE %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_EQUIVALENCE_RULE_MARS',
unique_key=['AGENCY_ID', 'AGENCY_RATING', 'NUMERICAL_EQUIVALENCE', 'RATING_FACTOR'],
strategy='check',
check_cols='all',
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_EQUIVALENCE_RULE"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(NULL AS VARCHAR2(1 CHAR)) AS RATING_TERM_TYPE, -- Not mapped in Informatica target, so excluded from check_cols
CAST(AGENCY_ID AS VARCHAR2(2 CHAR)) AS AGENCY_ID,
CAST(AGENCY_RATING AS VARCHAR2(4 CHAR)) AS AGENCY_RATING,
CAST(NUMERICAL_EQUIVALENCE AS NUMBER(28,0)) AS NUMERICAL_EQUIVALENCE,
CAST(RATING_FACTOR AS NUMBER(28,10)) AS RATING_FACTOR
FROM
{{ source('ods', 'F_EQUIVALENCE_RULE') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_EQUIVALENCE_RULE",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,70 @@
{% snapshot m_DWH_FXCD_NH_F_ISSUER %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ISSUER_MARS',
unique_key=['ISSUER_ID'],
strategy='check',
check_cols=[
'ENTITY_ID',
'ACTIVE_FLAG',
'ISSUER_COMMENT',
'OFM_ISSUER_LMT',
'OF_MANUAL_FLAG',
'GLOBAL_LMT_AMNT',
'MANUAL_GLOBAL_LMT_FLAG',
'OF_ISSUER_CATEGORY',
'FR_ISSUER_CATEGORY',
'ISSUER_LMT',
'FR_MANUAL_FLAG',
'NCB_USD_LAMBDA',
'ART_101_FLAG',
'UPLIFT_IMPLIED_RATING',
'LAMBDA_MANUAL_FLAG',
'CHANGE_DESCRIPTION',
'LT_FRM_LIMIT_RATIO',
'LT_FRM_LIMIT_RATIO_MANUAL_FLAG'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
COLUMN_TYPES={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ISSUER"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ISSUER_ID AS NUMBER(28,0)) AS ISSUER_ID,
CAST(ENTITY_ID AS NUMBER(28,0)) AS ENTITY_ID,
CAST({{ clean_boolean_fxcd('ACTIVE_FLAG') }} AS CHAR(1 CHAR)) AS ACTIVE_FLAG,
CAST(ISSUER_COMMENT AS VARCHAR2(4000 CHAR)) AS ISSUER_COMMENT,
CAST(OFM_ISSUER_LMT AS NUMBER(28,10)) AS OFM_ISSUER_LMT,
CAST({{ clean_boolean_fxcd('OF_MANUAL_FLAG') }} AS VARCHAR2(1 CHAR)) AS OF_MANUAL_FLAG,
CAST(GLOBAL_LMT_AMNT AS NUMBER(28,10)) AS GLOBAL_LMT_AMNT,
CAST({{ clean_boolean_fxcd('MANUAL_GLOBAL_LMT_FLAG') }} AS CHAR(1 CHAR)) AS MANUAL_GLOBAL_LMT_FLAG,
CAST(OF_ISSUER_CATEGORY AS VARCHAR2(5 CHAR)) AS OF_ISSUER_CATEGORY,
CAST(FR_ISSUER_CATEGORY AS VARCHAR2(5 CHAR)) AS FR_ISSUER_CATEGORY,
CAST(ISSUER_LMT AS NUMBER(28,10)) AS ISSUER_LMT,
CAST({{ clean_boolean_fxcd('FR_MANUAL_FLAG') }} AS CHAR(1 CHAR)) AS FR_MANUAL_FLAG,
CAST(NCB_USD_LAMBDA AS NUMBER(28,10)) AS NCB_USD_LAMBDA,
CAST(ART_101_FLAG AS CHAR(1 CHAR)) AS ART_101_FLAG,
CAST(UPLIFT_IMPLIED_RATING AS VARCHAR2(4 CHAR)) AS UPLIFT_IMPLIED_RATING,
CAST({{ clean_boolean_fxcd('LAMBDA_MANUAL_FLAG') }} AS VARCHAR2(1 CHAR)) AS LAMBDA_MANUAL_FLAG,
CAST(CHANGE_DESCRIPTION AS VARCHAR2(256 CHAR)) AS CHANGE_DESCRIPTION,
CAST(LT_FRM_LIMIT_RATIO AS NUMBER(28,10)) AS LT_FRM_LIMIT_RATIO,
CAST({{ clean_boolean_fxcd('LT_FRM_LIMIT_RATIO_MANUAL_FLAG') }} AS VARCHAR2(1 CHAR)) AS LT_FRM_LIMIT_RATIO_MANUAL_FLAG
FROM
{{ source('ods', 'F_ISSUER') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ISSUER",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,38 @@
{% snapshot m_DWH_FXCD_NH_F_ISSUER_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_ISSUER_NCB_LIMIT_MARS',
unique_key=['COUNTRY_ID', 'ISSUER_ID', 'USD_LIMIT_AMT', 'JPY_LIMIT_AMT', 'TOTAL_LIMIT_AMT'],
strategy='check',
check_cols='all',
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_ISSUER_NCB_LIMIT"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(COUNTRY_ID AS CHAR(2 BYTE)) AS COUNTRY_ID,
CAST(ISSUER_ID AS NUMBER(28,0)) AS ISSUER_ID,
CAST(USD_LIMIT_AMT AS NUMBER(28,10)) AS USD_LIMIT_AMT,
CAST(JPY_LIMIT_AMT AS NUMBER(28,10)) AS JPY_LIMIT_AMT,
CAST(TOTAL_LIMIT_AMT AS NUMBER(28,10)) AS TOTAL_LIMIT_AMT,
CAST(NULL AS VARCHAR2(1 CHAR)) AS LIMIT_TYPE -- Not mapped in Informatica target, so excluded from check_cols
FROM
{{ source('ods', 'F_ISSUER_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_ISSUER_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,38 @@
{% snapshot m_DWH_FXCD_NH_F_LIQUIDITY_NCB_LIMIT %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_LIQUIDITY_NCB_LIMIT_MARS',
unique_key=['COUNTRY_ID'],
strategy='check',
check_cols=[
'USD_NCB_MIN_LIMIT_AMT',
'USD_NCB_MAX_LIMIT_AMT'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_LIQUIDITY_NCB_LIMIT"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(COUNTRY_ID AS CHAR(2 BYTE)) AS COUNTRY_ID,
CAST(USD_NCB_MIN_LIMIT_AMT AS NUMBER(28,10)) AS USD_NCB_MIN_LIMIT_AMT,
CAST(USD_NCB_MAX_LIMIT_AMT AS NUMBER(28,10)) AS USD_NCB_MAX_LIMIT_AMT
FROM
{{ source('ods', 'F_LIQUIDITY_NCB_LIMIT') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_LIQUIDITY_NCB_LIMIT",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,50 @@
{% snapshot m_DWH_FXCD_NH_F_NCB_PORTFOLIO_SHARE %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_NCB_PORTFOLIO_SHARE_MARS',
unique_key=['COUNTRY_ID'],
strategy='check',
check_cols=[
'COUNTRY_SHARE',
'USD_COUNTRY_SHARE',
'JPY_COUNTRY_SHARE',
'SCALED_COUNTRY_SHARE',
'SCALED_USD_COUNTRY_SHARE',
'SCALED_JPY_COUNTRY_SHARE',
'CNY_COUNTRY_SHARE',
'SCALED_CNY_COUNTRY_SHARE'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_NCB_PORTFOLIO_SHARE"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(COUNTRY_ID AS CHAR(2 CHAR)) AS COUNTRY_ID,
CAST(COUNTRY_SHARE AS NUMBER(28,25)) AS COUNTRY_SHARE,
CAST(USD_COUNTRY_SHARE AS NUMBER(28,25)) AS USD_COUNTRY_SHARE,
CAST(JPY_COUNTRY_SHARE AS NUMBER(28,25)) AS JPY_COUNTRY_SHARE,
CAST(SCALED_COUNTRY_SHARE AS NUMBER(28,25)) AS SCALED_COUNTRY_SHARE,
CAST(SCALED_USD_COUNTRY_SHARE AS NUMBER(28,25)) AS SCALED_USD_COUNTRY_SHARE,
CAST(SCALED_JPY_COUNTRY_SHARE AS NUMBER(28,25)) AS SCALED_JPY_COUNTRY_SHARE,
CAST(CNY_COUNTRY_SHARE AS NUMBER(28,25)) AS CNY_COUNTRY_SHARE,
CAST(SCALED_CNY_COUNTRY_SHARE AS NUMBER(28,25)) AS SCALED_CNY_COUNTRY_SHARE
FROM
{{ source('ods', 'F_NCB_PORTFOLIO_SHARE') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_NCB_PORTFOLIO_SHARE",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,36 @@
{% snapshot m_DWH_FXCD_NH_F_RATING %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_RATING_MARS',
unique_key=['ENTITY_ID', 'AGENCY_ID', 'AGENCY_RATING'],
strategy='check',
check_cols='all',
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_RATING"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(ENTITY_ID AS NUMBER(28,0)) AS ENTITY_ID,
CAST(NULL AS VARCHAR2(1 CHAR)) AS RATING_TERM_TYPE,
CAST(AGENCY_ID AS VARCHAR2(2 CHAR)) AS AGENCY_ID,
CAST(AGENCY_RATING AS VARCHAR2(4 CHAR)) AS AGENCY_RATING
FROM
{{ source('ods', 'F_RATING') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_RATING",get_main_task_name(model.name))}}
{% endsnapshot %}

View File

@@ -0,0 +1,38 @@
{% snapshot m_DWH_FXCD_NH_F_RATING_AGENCY %}
{{
config(
target_schema='dw_rar',
alias = 'NH_F_RATING_AGENCY_MARS',
unique_key=['AGENCY_ID'],
strategy='check',
check_cols=[
'AGENCY_NAME',
'ENABLED_FLAG'
],
hard_deletes='invalidate',
dbt_valid_to_current="TIMESTAMP '9999-12-31 00:00:00'",
snapshot_meta_column_names={
'dbt_valid_from': 'A_VALID_FROM',
'dbt_valid_to': 'A_VALID_TO',
'dbt_updated_at': 'UPDATED_AT',
'dbt_scd_id': 'SCD_ID'
},
column_types={
'A_VALID_FROM': 'DATE',
'A_VALID_TO': 'DATE'
},
tags=["m_DWH_FXCD_NH_F_RATING_AGENCY"]
)
}}
SELECT DISTINCT
(SELECT COALESCE(MAX(A_KEY), 0) FROM {{ this }}) + ROW_NUMBER() OVER (ORDER BY 1) as A_KEY,
CAST({{ get_workflow_history_key() }} AS NUMBER(38,0)) AS A_DWH_LOAD_SET_FK,
CAST(AGENCY_ID AS VARCHAR2(2 CHAR)) AS AGENCY_ID,
CAST(AGENCY_NAME AS VARCHAR2(20 CHAR)) AS AGENCY_NAME,
CAST({{ clean_boolean_fxcd('ENABLED_FLAG') }} AS VARCHAR2(1 CHAR)) AS ENABLED_FLAG
FROM
{{ source('ods', 'F_RATING_AGENCY') }}
WHERE
A_WORKFLOW_HISTORY_KEY = {{ filter_workflow_history_max_key("w_ODS_FXCD_F_RATING_AGENCY",get_main_task_name(model.name))}}
{% endsnapshot %}