diff --git a/hasura.planx.uk/metadata/tables.yaml b/hasura.planx.uk/metadata/tables.yaml index 54dae90087..1592c75610 100644 --- a/hasura.planx.uk/metadata/tables.yaml +++ b/hasura.planx.uk/metadata/tables.yaml @@ -62,6 +62,9 @@ - user_exit filter: {} check: null +- table: + schema: public + name: analytics_summary - table: schema: public name: blpu_codes diff --git a/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/down.sql b/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/down.sql new file mode 100644 index 0000000000..2960f20a82 --- /dev/null +++ b/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/down.sql @@ -0,0 +1 @@ +DROP VIEW public.analytics_summary; diff --git a/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/up.sql b/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/up.sql new file mode 100644 index 0000000000..624602d92c --- /dev/null +++ b/hasura.planx.uk/migrations/1700303840464_setup_analytics_summary_view/up.sql @@ -0,0 +1,21 @@ +CREATE OR REPLACE VIEW public.analytics_summary AS +select + a.id as analytics_id, + al.id as analytics_log_id, + f.slug as service_slug, + t.slug as team_slug, + a.type as analytics_type, + a.created_at as analytics_created_at, + a.user_agent as user_agent, + a.referrer as referrer, + al.flow_direction as flow_direction, + al.metadata as metadata, + al.user_exit as is_user_exit, + al.node_type as node_type, + al.node_title as node_title, + al.has_clicked_help as has_clicked_help, + CAST(EXTRACT(EPOCH FROM (al.next_log_created_at - al.created_at)) as numeric (10, 1)) as time_spent_on_node_seconds +from analytics a + left join analytics_logs al on a.id = al.analytics_id + left join flows f on a.flow_id = f.id + left join teams t on t.id = f.team_id;