diff --git a/src/mozanalysis/experiment.py b/src/mozanalysis/experiment.py index 5acbb0a3..0a9eede4 100644 --- a/src/mozanalysis/experiment.py +++ b/src/mozanalysis/experiment.py @@ -844,6 +844,7 @@ def _build_enrollments_query_normandy( return f""" SELECT e.{self.analysis_unit.value} AS analysis_id, + udf.safe_sample_id({self.analysis_unit.value}) AS sample_id, `mozfun.map.get_key`(e.event_map_values, 'branch') AS branch, MIN(e.submission_date) AS enrollment_date, @@ -877,6 +878,7 @@ def _build_enrollments_query_fenix_baseline( return """ SELECT b.client_info.client_id AS analysis_id, + udf.safe_sample_id(b.client_info.client_id) AS sample_id, mozfun.map.get_key( b.ping_info.experiments, '{experiment_slug}' @@ -918,6 +920,7 @@ def _build_enrollments_query_glean_events_stream( return f""" SELECT {analysis_id} AS analysis_id, + udf.safe_sample_id({analysis_id}) AS sample_id, JSON_VALUE(event_extra, '$.branch') AS branch, DATE(MIN(submission_timestamp)) AS enrollment_date, COUNT(submission_timestamp) AS num_enrollment_events @@ -947,6 +950,7 @@ def _build_enrollments_query_glean_events_stream_enrollment_status( return f""" SELECT client_id AS analysis_id, + udf.safe_sample_id(analysis_id) AS sample_id, JSON_VALUE(event_extra, '$.branch') AS branch, DATE(MIN(submission_timestamp)) AS enrollment_date, COUNT(submission_timestamp) AS num_enrollment_events @@ -980,6 +984,7 @@ def _build_enrollments_query_cirrus( return f""" SELECT mozfun.map.get_key(e.extra, "nimbus_user_id") AS analysis_id, + 0 AS sample_id, mozfun.map.get_key( e.extra, 'branch' diff --git a/tests/test_experiment.py b/tests/test_experiment.py index dddd39c9..f648f2ee 100644 --- a/tests/test_experiment.py +++ b/tests/test_experiment.py @@ -1062,6 +1062,7 @@ def test_enrollments_query_analysis_unit(analysis_unit): WITH raw_enrollments AS ( SELECT e.{analysis_unit.value} AS analysis_id, + udf.safe_sample_id({analysis_unit.value}) AS sample_id, `mozfun.map.get_key`(e.event_map_values, 'branch') AS branch, MIN(e.submission_date) AS enrollment_date,