{{ config( materialized='table' ) }} with distinct_cycles as ( select 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, null::date as start_date, null::date as end_date, task_name as name, task_status as status, task_name as type from distinct_cycles