Skip to content

Instantly share code, notes, and snippets.

@seyhunak
Forked from mshakhomirov/login_ios_country.sql
Created January 20, 2022 11:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seyhunak/67ee54dc65f29b1df04fed7c7716a67b to your computer and use it in GitHub Desktop.
Save seyhunak/67ee54dc65f29b1df04fed7c7716a67b to your computer and use it in GitHub Desktop.
select (case when tile = 50 then 'Median' when tile = 95 then '95%' else '5%' end) as tile
, country
, max(cast( ROUND(duration/1000)/1000 as numeric) ) max_duration_s
, min(cast( ROUND(duration/1000)/1000 as numeric) ) min_duration_s
, logonCount
from (
select
trace_info.duration_us duration
, count(trace_info.duration_us ) OVER(partition by (country)) logonCount -- you might want to use this as a sort later
, ntile(100) over (partition by (country) order by trace_info.duration_us) tile
, country
-- app_display_version, country, radio_type
FROM `your-project-client.firebase_performance.your-project-client_IOS` d
WHERE
DATE(_PARTITIONTIME) >= PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND DATE(_PARTITIONTIME) <= PARSE_DATE('%Y%m%d', @DS_END_DATE)
AND
date(event_timestamp) >= PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND
date(event_timestamp) <= PARSE_DATE('%Y%m%d', @DS_END_DATE)
AND event_type = "DURATION_TRACE"
AND event_name = 'Logon'
) x
WHERE tile in (5, 50, 95)
group by country, tile, logonCount
order by country
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment