Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. WITH
  2.  
  3. period AS
  4. (SELECT "20180401" as start, "20180431" as finish),
  5.  
  6. ses AS (
  7. SELECT clientId, geoNetwork.country
  8. FROM `dokdbroker.OWOXBI_Streaming.session_streaming_*`
  9. WHERE _TABLE_SUFFIX BETWEEN (SELECT start FROM period) AND (SELECT finish FROM period)
  10. AND clientId IS NOT null
  11. )
  12.  
  13. SELECT
  14. *,
  15. (SELECT LPAD(start, 6) FROM period) as month
  16. FROM (
  17. SELECT
  18. * EXCEPT(session),
  19. COUNT (DISTINCT session) numSession
  20. FROM (
  21. SELECT
  22. * EXCEPT (maslo, akkum),
  23. MAX (maslo) isMaslo,
  24. MAX (akkum) isAkkum
  25. FROM (
  26. SELECT
  27. (SELECT value FROM UNNEST(customDimensions) WHERE index = 2) AS session,
  28. (SELECT value FROM UNNEST(customDimensions) WHERE index = 3) AS funnelPhase,
  29. IF((SELECT value FROM UNNEST(customGroups) WHERE index = 3) IN ("20","501","521"),1,0) AS maslo,
  30. IF((SELECT value FROM UNNEST(customGroups) WHERE index = 3) = "398",1,0) AS akkum,
  31. IF (clientId IN (SELECT clientId FROM ses WHERE country = "Ukraine")
  32. OR clientId NOT IN (SELECT clientId FROM ses), "Ukraine or NA", "abroad") AS country
  33. FROM
  34. `dokdbroker.OWOXBI_Streaming.streaming_*`
  35. WHERE
  36. _TABLE_SUFFIX BETWEEN (SELECT start FROM period) AND (SELECT finish FROM period)
  37. )
  38. WHERE true
  39. AND funnelPhase IS NOT NULL
  40. AND funnelPhase <> "NA"
  41. AND session <> "0"
  42. GROUP BY
  43. funnelPhase, country, session
  44. )
  45. GROUP BY
  46. funnelPhase, country, isMaslo, isAkkum
  47.  
  48. UNION ALL
  49. SELECT
  50. "Accepted" AS funnelPhase,
  51. "Ukraine or NA" AS country,
  52. null isMaslo, null isAkkum,
  53. COUNT(*) numSession
  54. FROM `dokdbroker.OWOXBI_Streaming.streaming_*`
  55. WHERE _TABLE_SUFFIX BETWEEN (SELECT start FROM period) AND (SELECT finish FROM period)
  56. AND (SELECT value FROM UNNEST(customDimensions) WHERE index = 2) = "0"
  57. )
  58. WHERE NOT EXISTS
  59. (SELECT 1 FROM download.Funnel_KPI
  60. WHERE month = (SELECT LPAD(start, 6) FROM period))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement