Skip to content

Commit dca348e

Browse files
authored
Merge pull request #765 from buerokratt/dev
merging dev to test
2 parents e33deda + 155d71a commit dca348e

3 files changed

Lines changed: 20 additions & 10 deletions

File tree

‎DSL/Resql/analytics/POST/feedback-chats-distribution.sql‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,13 @@ scale_ratings AS (
132132
)
133133
) s
134134
),
135+
valid_feedback_count AS (
136+
SELECT COALESCE(SUM(rc.cnt), 0) AS cnt
137+
FROM scale_ratings sr
138+
JOIN rating_counts rc ON sr.rating = rc.rating
139+
),
135140
no_feedback_count AS (
136-
SELECT (SELECT total_chats FROM all_ended_chats) - (SELECT COUNT(*) FROM chats_filtered) AS cnt
141+
SELECT (SELECT total_chats FROM all_ended_chats) - (SELECT cnt FROM valid_feedback_count) AS cnt
137142
),
138143
distribution_with_no_feedback AS (
139144
SELECT json_agg(elem ORDER BY ord, rating_nullable NULLS LAST) AS distribution
@@ -147,7 +152,7 @@ distribution_with_no_feedback AS (
147152
)
148153
SELECT json_build_object(
149154
'distribution', (SELECT distribution FROM distribution_with_no_feedback),
150-
'total_feedback', (SELECT COUNT(*) FROM chats_filtered),
155+
'total_feedback', (SELECT cnt FROM valid_feedback_count),
151156
'total_chats', (SELECT total_chats FROM all_ended_chats),
152157
'is_five_scale', (SELECT COALESCE(is_five_rating_scale, 'false') = 'true' FROM rating_config)
153158
) AS result;

‎DSL/Resql/analytics/POST/feedback-csa-chats-feedback-nps.sql‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ point_nps AS (
5555
WHEN (SELECT COALESCE(is_five_rating_scale, 'false') = 'true' FROM rating_config) THEN
5656
ROUND(
5757
100.0 * SUM(CASE WHEN feedback_rating_dynamic IN (4, 5) THEN 1 ELSE 0 END)
58-
/ NULLIF(COUNT(base_id), 0),
58+
/ NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 1 AND 5 THEN 1 ELSE 0 END), 0),
5959
2
6060
)
6161
ELSE
6262
COALESCE(ROUND(
6363
(
64-
(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 9 AND 10 THEN 1 ELSE 0 END) * 1.0 / NULLIF(COUNT(base_id), 0))
65-
- (SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 6 THEN 1 ELSE 0 END) * 1.0 / NULLIF(COUNT(base_id), 0))
64+
(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 9 AND 10 THEN 1 ELSE 0 END) * 1.0 / NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 10 THEN 1 ELSE 0 END), 0))
65+
- (SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 6 THEN 1 ELSE 0 END) * 1.0 / NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 10 THEN 1 ELSE 0 END), 0))
6666
) * 100,
6767
2
6868
), 0)
@@ -76,14 +76,14 @@ period_nps AS (
7676
WHEN (SELECT COALESCE(is_five_rating_scale, 'false') = 'true' FROM rating_config) THEN
7777
ROUND(
7878
100.0 * SUM(CASE WHEN feedback_rating_dynamic IN (4, 5) THEN 1 ELSE 0 END)
79-
/ NULLIF(COUNT(base_id), 0),
79+
/ NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 1 AND 5 THEN 1 ELSE 0 END), 0),
8080
2
8181
)
8282
ELSE
8383
COALESCE(ROUND(
8484
(
85-
(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 9 AND 10 THEN 1 ELSE 0 END) * 1.0 / NULLIF(COUNT(base_id), 0))
86-
- (SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 6 THEN 1 ELSE 0 END) * 1.0 / NULLIF(COUNT(base_id), 0))
85+
(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 9 AND 10 THEN 1 ELSE 0 END) * 1.0 / NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 10 THEN 1 ELSE 0 END), 0))
86+
- (SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 6 THEN 1 ELSE 0 END) * 1.0 / NULLIF(SUM(CASE WHEN feedback_rating_dynamic BETWEEN 0 AND 10 THEN 1 ELSE 0 END), 0))
8787
) * 100,
8888
2
8989
), 0)

‎DSL/Resql/analytics/POST/feedback-selected-csa-chats-distribution.sql‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,13 @@ scale_ratings AS (
9292
)
9393
) s
9494
),
95+
valid_feedback_count AS (
96+
SELECT COALESCE(SUM(rc.cnt), 0) AS cnt
97+
FROM scale_ratings sr
98+
JOIN rating_counts rc ON sr.rating = rc.rating
99+
),
95100
no_feedback_count AS (
96-
SELECT (SELECT total_chats FROM all_ended_chats) - (SELECT COUNT(*) FROM chats_filtered) AS cnt
101+
SELECT (SELECT total_chats FROM all_ended_chats) - (SELECT cnt FROM valid_feedback_count) AS cnt
97102
),
98103
distribution_with_no_feedback AS (
99104
SELECT json_agg(elem ORDER BY ord, rating_nullable NULLS LAST) AS distribution
@@ -107,7 +112,7 @@ distribution_with_no_feedback AS (
107112
)
108113
SELECT json_build_object(
109114
'distribution', (SELECT distribution FROM distribution_with_no_feedback),
110-
'total_feedback', (SELECT COUNT(*) FROM chats_filtered),
115+
'total_feedback', (SELECT cnt FROM valid_feedback_count),
111116
'total_chats', (SELECT total_chats FROM all_ended_chats),
112117
'is_five_scale', (SELECT COALESCE(is_five_rating_scale, 'false') = 'true' FROM rating_config)
113118
) AS result;

0 commit comments

Comments
 (0)