diff --git a/macros/tables/eff_sat_v0.sql b/macros/tables/eff_sat_v0.sql index 12d6b0b8..9ebae2fc 100644 --- a/macros/tables/eff_sat_v0.sql +++ b/macros/tables/eff_sat_v0.sql @@ -1,4 +1,4 @@ -{%- macro eff_sat_v0(yaml_metadata=none, source_model=none, tracked_hashkey=none, src_ldts=none, src_rsrc=none, is_active_alias=none, source_is_single_batch=true, disable_hwm=false, additional_columns=none) -%} +{%- macro eff_sat_v0(yaml_metadata=none, source_model=none, tracked_hashkey=none, src_ldts=none, src_rsrc=none, is_active_alias=none, source_is_single_batch=none, disable_hwm=false, additional_columns=none) -%} {% set additional_columns_description = " additional_columns::list | string Additional columns from source system or derived columns which should be part of the eff_sat. @@ -11,7 +11,17 @@ {% set src_ldts = datavault4dbt.yaml_metadata_parser(name='src_ldts', yaml_metadata=yaml_metadata, parameter=src_ldts, required=False, documentation='Name of the loaddate column in the source model. Optional.') %} {% set src_rsrc = datavault4dbt.yaml_metadata_parser(name='src_rsrc', yaml_metadata=yaml_metadata, parameter=src_rsrc, required=False, documentation='Name of the record source column in the source model. Optional.') %} {% set is_active_alias = datavault4dbt.yaml_metadata_parser(name='is_active_alias', yaml_metadata=yaml_metadata, parameter=is_active_alias, required=False, documentation='Name of the new active flag column. Optional.') %} - {% set source_is_single_batch = datavault4dbt.yaml_metadata_parser(name='source_is_single_batch', yaml_metadata=yaml_metadata, parameter=source_is_single_batch, required=False, documentation='Whether the source contains only one batch. Optional, default True.') %} + {% set source_is_single_batch = datavault4dbt.yaml_metadata_parser(name='source_is_single_batch', yaml_metadata=yaml_metadata, parameter=source_is_single_batch, required=True, documentation='REQUIRED: Whether the source contains only one batch. Must be defined explicitly (true/false).') %} + + {% if source_is_single_batch is none %} + {% do exceptions.raise_compiler_error( + "Missing required parameter 'source_is_single_batch' in eff_sat_v0. " + ~ "Please define it explicitly as true or false. " + ~ "true = source contains only one batch; false = multiple batches. " + ~ "Example: source_is_single_batch: true" + ) %} + {% endif %} + {% set disable_hwm = datavault4dbt.yaml_metadata_parser(name='disable_hwm', yaml_metadata=yaml_metadata, parameter=disable_hwm, required=False, documentation='Whether the High Water Mark should be disabled or not. Optional.') %} {%- set additional_columns = datavault4dbt.yaml_metadata_parser(name='additional_columns', yaml_metadata=yaml_metadata, parameter=additional_columns, required=False, documentation=additional_columns_description) -%}