Advertisement
YuvalGai

Untitled

May 24th, 2023
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.19 KB | None | 0 0
  1. CREATE OR REPLACE TABLE CANDIVORE.SEMANTIC_LAYER.T_REVENUE_DASHBOARD AS
  2.  
  3. SELECT
  4. DATE(A.derived_tstamp) AS interval_date
  5. ,B.league
  6. ,B.trophy_group
  7. , CASE
  8.     WHEN A.LT_PURCHASES_AMT > 0 THEN ''paying_user''
  9.     ELSE ''non_paying_user''
  10. END Paying_user
  11. , B.LTV_group
  12. , B.ltv_group_30d
  13. , date_trunc(''MONTH'',DATE(A.first_install_dt)) AS monthly_cohort
  14. , B.country
  15. , B.platform
  16. , A.purchase_type
  17. , A.purchase_subtype
  18. , A.price_point
  19. , A.template_id
  20. , A.package
  21. , A.special_offer_id
  22. , A.sub_offer_id
  23. , CASE WHEN A.lt_purchases_amt = 1 THEN 1 ELSE 0 END ftds
  24. , CASE WHEN A.lt_purchases_amt = 2 THEN 1 ELSE 0 END stds
  25. , CASE WHEN A.lt_purchases_amt = 3 THEN 1 ELSE 0 END ttds
  26. , COUNT(A.iap_price) AS Purchases
  27. , SUM(A.iap_price) AS Revenue
  28. , COUNT(DISTINCT A.user_id) AS Active_Users
  29. FROM
  30. ((SELECT *, DATE(derived_tstamp) interval_Date FROM CANDIVORE.PROD.F_IN_APP_PURCHASE WHERE DATE(derived_tstamp) >= ''2022-10-01'') A
  31.  
  32. LEFT JOIN
  33.  
  34. (SELECT
  35. user_id
  36. , interval_date
  37. , country
  38. , LANGUAGE
  39. , platform
  40. , app_version
  41. , app_minor_version
  42. , ltv_group
  43. , DATE(first_install_dt) AS install_date
  44. , CASE
  45.     WHEN trophies_cnt < 125 THEN ''0-125''
  46.     WHEN trophies_cnt < 1400 THEN ''125-1400''
  47.     WHEN trophies_cnt < 2000 THEN ''1400-2000''
  48.     WHEN trophies_cnt < 3800 THEN ''2000-3800''
  49.     WHEN trophies_cnt < 7000 THEN ''3800-7000''
  50.     WHEN trophies_cnt < 16000 THEN ''7000-16000''
  51.     WHEN trophies_cnt < 30000 THEN ''16000-30000''
  52.     WHEN trophies_cnt >= 30000 THEN ''30000+''
  53.   END AS trophy_group
  54. ,CASE
  55.     WHEN trophies_cnt < 800 THEN ''800''
  56.     WHEN finish_arena<=13 THEN ''Studios''
  57.     WHEN finish_arena<=22 THEN ''Master_League''
  58.     WHEN finish_arena>=23 THEN ''Legends_League''
  59.  END league
  60. ,CASE
  61. WHEN iap_30d = 0 THEN ''0''
  62. WHEN iap_30d <= 0.2 THEN ''low_0-0.2''
  63. WHEN iap_30d <= 2 THEN ''med_0.2-2''
  64. WHEN iap_30d <= 5 THEN ''high_2-5''
  65. WHEN iap_30d <= 15 THEN ''very_high_5-15''
  66. WHEN iap_30d > 15 THEN ''VIP_15+''
  67. ELSE ''CHECK''
  68. END ltv_group_30d
  69. FROM candivore.prod.daily_users_from_params WHERE interval_date >= ''2022-10-01'') B
  70.  
  71. ON A.user_id = B.user_id AND A.interval_date = B.interval_date)        
  72.  
  73. GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement