{{ config( materialized='table' ) }} with distinct_cycles as ( select min(step_submission_date) as cycle_start_date, max(step_submission_date) as cycle_end_date, task_name, case when count(case when task_status != 'Completed' then 1 end) = 0 then 'Closed' else 'Open' end as task_status from {{ source('tap_spreadsheets_anywhere', 'performance_review_steps') }} --where is_not_removed_from_task = 1 group by task_name ) select dense_rank() over (order by task_name)::bigint as id, cycle_start_date::date as start_date, cycle_end_date::date as end_date, task_name as name, 'Closed' as status, -- overwritten logic for Sarens 'annual' as type from distinct_cycles