Advertisement
YuvalGai

Untitled

Jun 27th, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE CANDIVORE.SEMANTIC_LAYER.T_IAPS()
  2. RETURNS VARCHAR(16777216)
  3. LANGUAGE JAVASCRIPT
  4. EXECUTE AS OWNER
  5. AS '
  6.  
  7.  
  8. //2. Get joined data that has been inserted since the last insert date in the merged table
  9. var my_sql_command2 = `
  10.  
  11. CREATE OR REPLACE TABLE CANDIVORE.SEMANTIC_LAYER.T_IAPS AS
  12.  
  13. SELECT A.*, B.country, B.LANGUAGE , B.platform , B.app_version , B.app_minor_version , B.install_date , B.trophy_group,B.trophy_group_2, B.league, B.ltv_group, B.ltv_group_30d FROM(
  14. (SELECT
  15. user_id
  16. , DATE(derived_tstamp) AS interval_date
  17.  
  18. , purchase_type
  19. , purchase_subtype
  20. , price_point
  21. , template_id
  22. , package
  23. , special_offer_id
  24. , sub_offer_id
  25. , iap_price
  26. , lt_purchases_amt
  27. , date_trunc(''month'',DATE(first_install_dt)) install_month
  28. FROM CANDIVORE.PROD.F_IN_APP_PURCHASE WHERE DATE(derived_tstamp) >= ''2022-10-01'') A
  29.  
  30. LEFT JOIN
  31.  
  32. (SELECT
  33. user_id
  34. , interval_date
  35. , country
  36. , LANGUAGE
  37. , platform
  38. , app_version
  39. , app_minor_version
  40. , ltv_group
  41. , DATE(first_install_dt) AS install_date
  42. , CASE
  43. WHEN trophies_cnt < 125 THEN ''0-125''
  44. WHEN trophies_cnt < 1400 THEN ''125-1400''
  45. WHEN trophies_cnt < 2000 THEN ''1400-2000''
  46. WHEN trophies_cnt < 3800 THEN ''2000-3800''
  47. WHEN trophies_cnt < 7000 THEN ''3800-7000''
  48. WHEN trophies_cnt < 16000 THEN ''7000-16000''
  49. WHEN trophies_cnt < 30000 THEN ''16000-30000''
  50. WHEN trophies_cnt >= 30000 THEN ''30000+''
  51. END AS trophy_group
  52. , CASE
  53. WHEN trophies_cnt < 125 THEN ''0-125''
  54. WHEN trophies_cnt < 1400 THEN ''125-1400''
  55. WHEN trophies_cnt < 2000 THEN ''1400-2000''
  56. WHEN trophies_cnt < 3800 THEN ''2000-3800''
  57. WHEN trophies_cnt < 4500 THEN ''3800-4500''
  58. WHEN trophies_cnt < 5500 THEN ''4500-5500''
  59. WHEN trophies_cnt < 7000 THEN ''5500-7000''
  60. WHEN trophies_cnt < 10000 THEN ''7000-10000''
  61. WHEN trophies_cnt < 13000 THEN ''10000-13000''
  62. WHEN trophies_cnt < 16000 THEN ''13000-16000''
  63. WHEN trophies_cnt < 30000 THEN ''16000-30000''
  64. WHEN trophies_cnt >= 30000 THEN ''30000+''
  65. END AS trophy_group_2
  66. ,CASE
  67. WHEN trophies_cnt < 800 THEN ''800''
  68. WHEN finish_arena<=13 THEN ''Studios''
  69. WHEN finish_arena<=22 THEN ''Master_League''
  70. WHEN finish_arena>=23 THEN ''Legends_League''
  71. END league
  72. ,case
  73. when iap_30d = 0 then ''0''
  74. when iap_30d <= 1 then ''Low (0-1)''
  75. when iap_30d <= 2 then ''Med (1-3)''
  76. when iap_30d <= 5 then ''High (3-8)''
  77. when iap_30d <= 15 then ''Very High (8-15)''
  78. when iap_30d > 15 then ''VIP (15+)''
  79. end ltv_group_30d
  80. FROM candivore.prod.daily_users_from_params WHERE interval_date >= ''2022-10-01'') B
  81.  
  82. ON A.user_id = B.user_id AND A.interval_date = B.interval_date
  83. )
  84.  
  85. `
  86.  
  87.  
  88. var statement2 = snowflake.createStatement({sqlText: my_sql_command2});
  89. statement2.execute();
  90.  
  91.  
  92. var my_sql_command99 = ''COMMIT;'';
  93. var statement99 = snowflake.createStatement({sqlText: my_sql_command99});
  94. statement99.execute();
  95. ';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement