lib/templates/sql/archived/events_no_segments.sql (41 lines of code) (raw):

{% autoescape off %} WITH buckets as ( SELECT i as bucket FROM UNNEST(generate_array(1, 30000)) i ), eventdata as ( SELECT {% for metric in metrics %} SAFE_CAST((SELECT value FROM UNNEST(event.extra) WHERE key = '{{metric}}') AS int) AS {{metric}}, {% endfor %} FROM `moz-fx-data-shared-prod.firefox_desktop.pageload` CROSS JOIN UNNEST(events) AS event WHERE normalized_channel = "{{channel}}" AND DATE(submission_timestamp) >= DATE('{{startDate}}') AND DATE(submission_timestamp) <= DATE('{{endDate}}') {% if is_experiment %} AND mozfun.map.get_key(ping_info.experiments, "{{slug}}").branch = "{{branch}}" {% endif %} {% if segmentConditions %} {{segmentConditions}} {% endif %} ) SELECT bucket, {% for metric in metrics %} COUNTIF({{metric}} = bucket) as {{metric}}_counts, {% endfor %} FROM eventdata, buckets WHERE load_time > 0 GROUP BY bucket ORDER BY bucket {% endautoescape %}