{% 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 %}