Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ vars:

#Stage Configuration
datavault4dbt.copy_rsrc_ldts_input_columns: false
datavault4dbt.max_days_for_late_arriving_data:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
datavault4dbt.max_days_for_late_arriving_data:
datavault4dbt.max_days_for_late_arriving_data: 0

Same as above, the default should be set in a way that does not change existing behaviour


#General Configuration
datavault4dbt.include_business_objects_before_appearance: false
Expand Down
9 changes: 8 additions & 1 deletion macros/staging/snowflake/stage.sql
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@
{# Setting the column name for load date timestamp and record source to the alias coming from the attributes #}
{%- set ldts_alias = var('datavault4dbt.ldts_alias', 'ldts') -%}
{%- set rsrc_alias = var('datavault4dbt.rsrc_alias', 'rsrc') -%}
{%- set max_days_for_late_arriving_data = var('datavault4dbt.max_days_for_late_arriving_data', 'rsrc') -%}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default value is set as 'rsrc', to keep the behaviour backwards compatible, as in no filter is applied, it should default to 0.


{%- set copy_input_columns = var('datavault4dbt.copy_rsrc_ldts_input_columns', false) -%}
{%- set load_datetime_col_name = ldts_alias -%}
{%- set record_source_col_name = rsrc_alias -%}
Expand Down Expand Up @@ -201,9 +203,14 @@ source_data AS (
{{- "\n\n " ~ datavault4dbt.print_list(datavault4dbt.escape_column_names(all_source_columns)) if all_source_columns else " *" }}

FROM {{ source_relation }}
WHERE 1 = 1
{% if max_days_for_late_arriving_data|int != 0 %}

AND {{ ldts }} >= DATEADD(day, {{ max_days_for_late_arriving_data }}*-1, CURRENT_DATE)
{%- endif -%}
Comment on lines +207 to +210

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{% if max_days_for_late_arriving_data|int != 0 %}
AND {{ ldts }} >= DATEADD(day, {{ max_days_for_late_arriving_data }}*-1, CURRENT_DATE)
{%- endif -%}
{% if max_days_for_late_arriving_data|int != 0 %}
AND {{ ldts }} >= DATEADD(day, {{ max_days_for_late_arriving_data }}*-1, CURRENT_DATE)
{%- endif -%}

Small readability adjustment


{% if is_incremental() %}
WHERE {{ ldts }} > (SELECT max({{ load_datetime_col_name}})
AND {{ ldts }} > (SELECT max({{ load_datetime_col_name}})
FROM {{ this }}
WHERE {{ load_datetime_col_name}} != {{ datavault4dbt.string_to_timestamp(timestamp_format , end_of_all_times) }} )
{%- endif -%}
Expand Down