diff --git a/macros/incremental_utils.sql b/macros/incremental_utils.sql index e037b59..2917f4a 100644 --- a/macros/incremental_utils.sql +++ b/macros/incremental_utils.sql @@ -20,7 +20,7 @@ ) -%} {% if is_incremental() %} -{{ time_col }} >= CURRENT_DATE() - INTERVAL '{{ time_in_days }}' +{{ time_col }} :: DATE >= SYSDATE() - INTERVAL '{{ time_in_days }}' {% else %} TRUE {% endif %} diff --git a/models/silver/atlas/silver__atlas_near_maa.sql b/models/silver/atlas/silver__atlas_near_maa.sql index 19f2c74..4fcdf6c 100644 --- a/models/silver/atlas/silver__atlas_near_maa.sql +++ b/models/silver/atlas/silver__atlas_near_maa.sql @@ -1,7 +1,7 @@ {{ config( materialized = 'incremental', incremental_stratege = 'delete+insert', - unique_key = 'day', + unique_key = 'active_day', tags = ['atlas', 'atlas_24h'] ) }} @@ -14,13 +14,11 @@ WITH dates AS ( 'crosschain', 'dim_dates' ) }} + WHERE date_day between '2020-07-21' AND SYSDATE() :: DATE ), txns AS ( SELECT - DATE_TRUNC( - 'day', - block_timestamp - ) AS active_day, + block_timestamp :: DATE AS active_day, tx_signer, COALESCE( _inserted_timestamp, @@ -28,12 +26,15 @@ txns AS ( ) AS _inserted_timestamp FROM {{ ref('silver__streamline_transactions_final') }} - - {% if var("MANUAL_FIX") %} - WHERE {{ partition_load_manual('no_buffer') }} - {% else %} - WHERE {{ incremental_load_filter('_inserted_timestamp') }} - {% endif %} + WHERE + {% if var("MANUAL_FIX") %} + {{ partition_load_manual('no_buffer') }} + {% else %} + {{ incremental_last_x_days( + '_inserted_timestamp', + 31 + ) }} + {% endif %} ), FINAL AS ( SELECT @@ -41,18 +42,20 @@ FINAL AS ( COUNT( DISTINCT tx_signer ) AS maa, - max(_inserted_timestamp) AS _inserted_timestamp + MAX(_inserted_timestamp) AS _inserted_timestamp FROM dates d - LEFT OUTER JOIN txns t + LEFT JOIN txns t ON t.active_day < d.active_day AND t.active_day >= d.active_day - INTERVAL '30 days' WHERE - d.active_day != DATE_TRUNC('day', SYSDATE()) - GROUP BY + d.active_day != SYSDATE() :: DATE + GROUP BY 1 ) SELECT * FROM FINAL + + \ No newline at end of file