diff --git a/elementary/monitor/dbt_project/macros/get_models_runs.sql b/elementary/monitor/dbt_project/macros/get_models_runs.sql index 4a4740816..dc8851780 100644 --- a/elementary/monitor/dbt_project/macros/get_models_runs.sql +++ b/elementary/monitor/dbt_project/macros/get_models_runs.sql @@ -1,14 +1,14 @@ {%- macro get_models_runs(days_back = 7, exclude_elementary=false) -%} {% set models_runs_query %} with model_runs as ( - select + select *, - rank() over (partition by unique_id order by generated_at desc) as invocations_rank_index + row_number() over (partition by unique_id order by generated_at desc) as invocations_rank_index from {{ ref('elementary', 'model_run_results') }} ) select - unique_id, + unique_id, invocation_id, name, schema_name as schema, diff --git a/elementary/monitor/dbt_project/macros/get_source_freshness_results.sql b/elementary/monitor/dbt_project/macros/get_source_freshness_results.sql index b17dceb3e..147ef09f7 100644 --- a/elementary/monitor/dbt_project/macros/get_source_freshness_results.sql +++ b/elementary/monitor/dbt_project/macros/get_source_freshness_results.sql @@ -11,7 +11,7 @@ select *, {{ elementary_cli.normalized_source_freshness_status()}}, - rank() over (partition by unique_id order by generated_at desc) as invocations_rank_index + row_number() over (partition by unique_id order by generated_at desc) as invocations_rank_index from {{ ref('elementary', 'dbt_source_freshness_results') }} {% if days_back %} where {{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('generated_at'), elementary.edr_current_timestamp(), 'day') }} < {{ days_back }} diff --git a/elementary/monitor/dbt_project/macros/get_test_results.sql b/elementary/monitor/dbt_project/macros/get_test_results.sql index 6f59e3b02..35218e678 100644 --- a/elementary/monitor/dbt_project/macros/get_test_results.sql +++ b/elementary/monitor/dbt_project/macros/get_test_results.sql @@ -14,7 +14,7 @@ *, {{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('detected_at'), elementary.edr_current_timestamp(), 'day') }} as days_diff, {# When we split test into multiple test results, we want to have the same invocation order for the test results from the same run so we use rank. #} - rank() over (partition by elementary_unique_id order by {{elementary.edr_cast_as_timestamp('detected_at')}} desc) as invocations_rank_index + row_number() over (partition by elementary_unique_id order by {{elementary.edr_cast_as_timestamp('detected_at')}} desc) as invocations_rank_index from test_results ) @@ -193,7 +193,7 @@ etr.status, drr.execution_time, {{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('etr.detected_at'), elementary.edr_current_timestamp(), 'day') }} AS days_diff, - RANK() OVER (PARTITION BY elementary_unique_id ORDER BY etr.detected_at DESC) AS invocations_rank_index, + ROW_NUMBER() OVER (PARTITION BY elementary_unique_id ORDER BY etr.detected_at DESC) AS invocations_rank_index, etr.failures, etr.result_rows FROM {{ ref('elementary', 'elementary_test_results') }} etr