Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. WITH
  2.  
  3. period AS
  4. (SELECT "20170710" as start, "20170716" 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. week, funnelPhase, first_action,
  15. datasource, country,
  16. COUNT (DISTINCT session) numSession
  17. FROM (
  18. SELECT
  19. week,
  20. session,
  21. funnelPhase,
  22. IF (funnelPhase NOT IN ("Visit", "NoBounce", "Value"),
  23. FIRST_VALUE (action_type) OVER (PARTITION BY session ORDER BY IF (action_type="0", 1, 0), time, hitCounter ASC),
  24. "до действия") first_action,
  25. datasource,
  26. country
  27. FROM (
  28. SELECT
  29. DIV(EXTRACT(DAYOFYEAR from PARSE_DATE("%E4Y%m%e", date)) + 5, 7) week,
  30. (SELECT value FROM UNNEST(customDimensions) WHERE index = 2) AS session,
  31. (SELECT value FROM UNNEST(customDimensions) WHERE index = 3) AS funnelPhase,
  32. (SELECT value FROM UNNEST(customDimensions) WHERE index = 5) AS hitCounter,
  33. (SELECT value FROM UNNEST(customGroups) WHERE index = 1) AS side,
  34. time,
  35. CASE
  36. WHEN (eventInfo.eventCategory="Form-1click" AND eventInfo.eventAction="new-order") THEN "ЗОК"
  37. WHEN eventInfo.eventAction="successfully-callback" THEN "Коллбэк"
  38. WHEN (eventInfo.eventAction="add-to-cart" AND eventInfo.eventLabel="catalog-buy") THEN "Купить с плитки"
  39. WHEN (eventInfo.eventAction="add-to-cart" AND eventInfo.eventLabel="article") THEN "Купить с карточки"
  40. ELSE "0" END AS action_type,
  41. datasource,
  42. IF (clientId IN (SELECT clientId FROM ses WHERE country = "Ukraine")
  43. OR clientId NOT IN (SELECT clientId FROM ses), "Ukraine or NA", "abroad") country
  44. FROM `dokdbroker.OWOXBI_Streaming.streaming_*`
  45. WHERE _TABLE_SUFFIX BETWEEN (SELECT start FROM period) AND (SELECT finish FROM period)
  46. )
  47. WHERE
  48. funnelPhase IS NOT NULL AND funnelPhase <> "NA" AND session <> "0"
  49. GROUP BY
  50. week, funnelPhase, session, action_type, hitCounter, time, datasource, country
  51. )
  52. GROUP BY
  53. week, funnelPhase, first_action, datasource, country
  54.  
  55. ORDER BY
  56. week, funnelPhase, datasource
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement