Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions DSL/Resql/analytics/POST/chat-follow-up-action-overview.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,30 @@ WITH latest_per_base AS (
WHERE c.status = 'ENDED'
AND c.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
ORDER BY c.base_id, c.updated DESC
),
latest_action_times AS (
SELECT chat_base_id, MAX(created_at) AS latest_at
FROM chat_measurements
WHERE type = 'FOLLOW_UP_ACTION'
GROUP BY chat_base_id
),
current_actions AS (
SELECT cm.*
FROM chat_measurements cm
JOIN latest_action_times lat ON cm.chat_base_id = lat.chat_base_id
AND cm.created_at = lat.latest_at
WHERE cm.type = 'FOLLOW_UP_ACTION'
)
SELECT
cm.value AS follow_up_action,
COUNT(DISTINCT lp.base_id) AS count
FROM latest_per_base lp
JOIN chat_measurements cm ON cm.chat_base_id = lp.base_id::uuid
JOIN current_actions cm ON cm.chat_base_id = lp.base_id::uuid
WHERE (:showTest = TRUE OR lp.test = FALSE)
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR lp.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND cm.type = 'FOLLOW_UP_ACTION'
AND cm.value IS NOT NULL
AND cm.value <> ''
AND cm.value NOT IN (:excluded_actions)
Expand Down
12 changes: 12 additions & 0 deletions DSL/Resql/analytics/POST/chat-quality-overview-summary.sql
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'THEME'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'THEME'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand All @@ -46,6 +50,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'QUALITY'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'QUALITY'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand All @@ -55,6 +63,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'FOLLOW_UP_ACTION'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'FOLLOW_UP_ACTION'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand Down
12 changes: 12 additions & 0 deletions DSL/Resql/analytics/POST/chat-quality-overview.sql
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'THEME'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'THEME'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand All @@ -26,6 +30,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'QUALITY'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'QUALITY'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand All @@ -35,6 +43,10 @@ LEFT JOIN LATERAL (
FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid
AND type = 'FOLLOW_UP_ACTION'
AND created_at = (
SELECT MAX(created_at) FROM chat_measurements
WHERE chat_base_id = lp.base_id::uuid AND type = 'FOLLOW_UP_ACTION'
)
AND value IS NOT NULL
AND value <> ''
LIMIT 1
Expand Down
16 changes: 14 additions & 2 deletions DSL/Resql/analytics/POST/chat-theme-overview.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,30 @@ WITH latest_per_base AS (
WHERE c.status = 'ENDED'
AND c.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
ORDER BY c.base_id, c.updated DESC
),
latest_theme_times AS (
SELECT chat_base_id, MAX(created_at) AS latest_at
FROM chat_measurements
WHERE type = 'THEME'
GROUP BY chat_base_id
),
current_themes AS (
SELECT cm.*
FROM chat_measurements cm
JOIN latest_theme_times ltt ON cm.chat_base_id = ltt.chat_base_id
AND cm.created_at = ltt.latest_at
WHERE cm.type = 'THEME'
)
SELECT
cm.value AS theme,
COUNT(DISTINCT lp.base_id) AS count
FROM latest_per_base lp
JOIN chat_measurements cm ON cm.chat_base_id = lp.base_id::uuid
JOIN current_themes cm ON cm.chat_base_id = lp.base_id::uuid
WHERE (:showTest = TRUE OR lp.test = FALSE)
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR lp.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND cm.type = 'THEME'
AND cm.value IS NOT NULL
AND cm.value <> ''
AND cm.value NOT IN (:excluded_themes)
Expand Down
Loading