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 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