From ac20f15c9711769608f21d67b881f7c22bf975fa Mon Sep 17 00:00:00 2001 From: Yasmine Date: Mon, 7 Oct 2024 12:59:19 +0200 Subject: [PATCH 1/2] repartition des emails des utilisateurs par day --- usage-analytics/users_daily_count.sql | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 usage-analytics/users_daily_count.sql diff --git a/usage-analytics/users_daily_count.sql b/usage-analytics/users_daily_count.sql new file mode 100644 index 00000000..1d7ed36c --- /dev/null +++ b/usage-analytics/users_daily_count.sql @@ -0,0 +1,23 @@ +WITH all_users AS ( + SELECT + DATE_TRUNC(TIMESTAMP_MILLIS(CAST(JSON_EXTRACT_SCALAR(DATA, "$.createdAt") AS INT)), DAY) AS day, + JSON_EXTRACT_SCALAR(DATA, "$.requested") AS requested, + JSON_EXTRACT_SCALAR(DATA, "$.status") AS status, + JSON_EXTRACT_SCALAR(DATA, "$.giverEmail") AS email + FROM firestore_export.feedback_raw_latest + WHERE JSON_EXTRACT_SCALAR(DATA, "$.giverEmail") LIKE '%@zenika.com' + + UNION ALL + + SELECT + DATE_TRUNC(TIMESTAMP_MILLIS(CAST(JSON_EXTRACT_SCALAR(DATA, "$.createdAt") AS INT)), DAY) AS day, + JSON_EXTRACT_SCALAR(DATA, "$.requested") AS requested, + JSON_EXTRACT_SCALAR(DATA, "$.status") AS status, + JSON_EXTRACT_SCALAR(DATA, "$.receiverEmail") AS email + FROM firestore_export.feedback_raw_latest + WHERE JSON_EXTRACT_SCALAR(DATA, "$.requested") = 'true' + AND JSON_EXTRACT_SCALAR(DATA, "$.receiverEmail") LIKE '%@zenika.com' +) + +SELECT DISTINCT day,email +FROM all_users; \ No newline at end of file From ae7fe7438dedb9c76d3c68f5a8619dead8f092fa Mon Sep 17 00:00:00 2001 From: Yasmine Date: Mon, 7 Oct 2024 16:02:54 +0200 Subject: [PATCH 2/2] ajouter le query users_daily_count sur le main --- usage-analytics/create-analytics/main.py | 2 ++ .../create-analytics/users_daily_count.sql | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 usage-analytics/create-analytics/users_daily_count.sql diff --git a/usage-analytics/create-analytics/main.py b/usage-analytics/create-analytics/main.py index 0f4613ad..3dc6bced 100644 --- a/usage-analytics/create-analytics/main.py +++ b/usage-analytics/create-analytics/main.py @@ -67,4 +67,6 @@ def create_analytics_tables(*_): execute_query("externe_feedbacks_per_month.sql", "feedzback_usage", "externe_feedbacks_per_month") # This query answer the question "how many feedbacks are shared with managers each month" execute_query("shared_feedbacks_per_month.sql", "feedzback_usage", "shared_feedbacks_per_month") + # This query answer the question "how many users on feedzback" + execute_query("users_daily_count.sql", "feedzback_usage", "users_daily_count") return 'OK' diff --git a/usage-analytics/create-analytics/users_daily_count.sql b/usage-analytics/create-analytics/users_daily_count.sql new file mode 100644 index 00000000..1d7ed36c --- /dev/null +++ b/usage-analytics/create-analytics/users_daily_count.sql @@ -0,0 +1,23 @@ +WITH all_users AS ( + SELECT + DATE_TRUNC(TIMESTAMP_MILLIS(CAST(JSON_EXTRACT_SCALAR(DATA, "$.createdAt") AS INT)), DAY) AS day, + JSON_EXTRACT_SCALAR(DATA, "$.requested") AS requested, + JSON_EXTRACT_SCALAR(DATA, "$.status") AS status, + JSON_EXTRACT_SCALAR(DATA, "$.giverEmail") AS email + FROM firestore_export.feedback_raw_latest + WHERE JSON_EXTRACT_SCALAR(DATA, "$.giverEmail") LIKE '%@zenika.com' + + UNION ALL + + SELECT + DATE_TRUNC(TIMESTAMP_MILLIS(CAST(JSON_EXTRACT_SCALAR(DATA, "$.createdAt") AS INT)), DAY) AS day, + JSON_EXTRACT_SCALAR(DATA, "$.requested") AS requested, + JSON_EXTRACT_SCALAR(DATA, "$.status") AS status, + JSON_EXTRACT_SCALAR(DATA, "$.receiverEmail") AS email + FROM firestore_export.feedback_raw_latest + WHERE JSON_EXTRACT_SCALAR(DATA, "$.requested") = 'true' + AND JSON_EXTRACT_SCALAR(DATA, "$.receiverEmail") LIKE '%@zenika.com' +) + +SELECT DISTINCT day,email +FROM all_users; \ No newline at end of file