@@ -23,6 +23,7 @@ WITH team_quarters AS (
23
23
SELECT DISTINCT ON (kr .id )
24
24
kr .id as key_result_id,
25
25
ci .value_metric ,
26
+ COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )),0 ) as progress,
26
27
ci .zone ,
27
28
kr .key_result_type ,
28
29
kr .stretch_goal ,
@@ -31,8 +32,8 @@ WITH team_quarters AS (
31
32
sub_o .quarter_id
32
33
FROM key_result kr
33
34
LEFT JOIN CHECK_IN ci ON KR .ID = ci .KEY_RESULT_ID AND ci .MODIFIED_ON = (SELECT MAX (CC .MODIFIED_ON )
34
- FROM CHECK_IN CC
35
- WHERE CC .KEY_RESULT_ID = ci .KEY_RESULT_ID )
35
+ FROM CHECK_IN CC
36
+ WHERE CC .KEY_RESULT_ID = ci .KEY_RESULT_ID )
36
37
INNER JOIN objective sub_o ON kr .objective_id = sub_o .id
37
38
ORDER BY kr .id , ci .modified_on DESC
38
39
),
@@ -45,23 +46,23 @@ WITH team_quarters AS (
45
46
COUNT (* ) FILTER (WHERE key_result_type = ' metric' ) AS key_results_metric_amount,
46
47
COUNT (* ) FILTER (
47
48
WHERE (key_result_type = ' ordinal' AND zone IN (' TARGET' , ' STRETCH' ))
48
- OR (key_result_type = ' metric' AND COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )), 0 ) >= 0 .7 )
49
+ OR (key_result_type = ' metric' AND progress >= 0 .7 )
49
50
) AS key_results_in_target_or_stretch_amount,
50
51
COUNT (* ) FILTER (
51
52
WHERE (key_result_type = ' ordinal' AND zone = ' FAIL' )
52
- OR (key_result_type = ' metric' AND COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )), 0 ) < 0 .3 )
53
+ OR (key_result_type = ' metric' AND progress > 0 AND progress < 0 .3 )
53
54
) AS key_results_in_fail_amount,
54
55
COUNT (* ) FILTER (
55
56
WHERE (key_result_type = ' ordinal' AND zone = ' COMMIT' )
56
- OR (key_result_type = ' metric' AND COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )), 0 ) BETWEEN 0 .3 AND 0 .7 )
57
+ OR (key_result_type = ' metric' AND progress >= 0 .3 AND progress < 0 .7 )
57
58
) AS key_results_in_commit_amount,
58
59
COUNT (* ) FILTER (
59
60
WHERE (key_result_type = ' ordinal' AND zone = ' TARGET' )
60
- OR (key_result_type = ' metric' AND COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )), 0 ) BETWEEN 0 .7 AND 1 )
61
+ OR (key_result_type = ' metric' AND progress >= 0 .7 AND progress < 1 )
61
62
) AS key_results_in_target_amount,
62
63
COUNT (* ) FILTER (
63
64
WHERE (key_result_type = ' ordinal' AND zone = ' STRETCH' )
64
- OR (key_result_type = ' metric' AND COALESCE(((value_metric - baseline) / NULLIF(stretch_goal - baseline, 0 )), 0 ) >= 1 )
65
+ OR (key_result_type = ' metric' AND progress >= 1 )
65
66
) AS key_results_in_stretch_amount
66
67
FROM kr_latest_check_in
67
68
GROUP BY team_id, quarter_id
0 commit comments