Advertisement
YuvalGai

Untitled

Sep 8th, 2024
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. WITH DATA AS (
  2. SELECT
  3. A.*,
  4. CASE
  5. WHEN is_usd_paid = TRUE THEN 'Paid'
  6. WHEN is_coin_paid = TRUE THEN 'Coin Paid'
  7. ELSE 'Unpayed'
  8. END AS transaction_type,
  9. transaction_sub_source transaction_source_lvl_0,
  10. CASE
  11. WHEN transaction_source = 'booster_select'
  12. OR (
  13. transaction_source = 'daily_deals'
  14. AND is_coin_paid = TRUE
  15. )
  16. OR transaction_source = 'helper_select_popup_chest'
  17. OR transaction_source LIKE 'perk_select%'
  18. OR transaction_source LIKE 'special_offer%'
  19. OR transaction_source = 'spin'
  20. OR transaction_source = 'spin_chest'
  21. OR transaction_source = 'super_spin'
  22. OR transaction_source LIKE '%donation%'
  23. OR transaction_source = 'tickets_pack' THEN TRUE
  24. ELSE FALSE
  25. END AS is_bargain,
  26. CASE
  27. WHEN lo_event_id LIKE '%mutation%' THEN 'solo_mutation'
  28. WHEN lo_event_id LIKE 'Solo%'
  29. OR lo_event_id LIKE 'solo%' THEN 'solo'
  30. WHEN lo_event_type = 'Rumble' THEN 'rumble'
  31. when pvp_mode = 'Showdown' Then 'Showndown'
  32. WHEN lo_event_type = 'AdventureMode' THEN 'adventure'
  33. WHEN lo_event_type LIKE 'Leaderboard%' THEN 'leaderboard'
  34. WHEN lo_event_type LIKE 'BoostersClash' THEN 'boosters_clash'
  35. WHEN match_type_id = 4
  36. OR transaction_source LIKE 'tournament%' THEN 'tournament'
  37. WHEN match_type_id = 5 THEN 'daily'
  38. WHEN match_type_id = 2 THEN 'classic'
  39. else transaction_source
  40. END AS match_type
  41. , payers_segment
  42. FROM
  43. MATCH_MASTERS.PROD.f_user_resource_transaction a
  44. left join
  45. (select user_id,interval_date,payers_segment from MATCH_MASTERS.prod.daily_users_from_params where interval_date >= current_date - 121) B
  46. on A.user_id = B.user_id and A.transaction_date = B.interval_date
  47. WHERE
  48. DATE(derived_tstamp) >= current_date - 121
  49. )
  50. --------------------
  51. --end_with_statement
  52. --------------------
  53.  
  54. SELECT
  55. A.INTERVAL_DATE
  56. ,A.LEAGUE
  57. ,A.TROPHY_GROUP
  58. ,A.payers_segment
  59. ,A.LTV_GROUP
  60. ,A.LO_EVENT_TYPE
  61. ,A.EVENT_TYPE
  62. ,A.IS_RECEIVED_RESOURCE
  63. ,A.TRANSACTION_TYPE
  64. ,A.TRANSACTION_SOURCE_LVL_0
  65. ,A.TRANSACTION_SOURCE
  66. ,A.IS_BARGAIN
  67. ,A.MATCH_TYPE
  68. ,A.MATCH_TYPE_ID
  69. ,A.MATCH_MODE_TYPE
  70. ,A.RESOURCE_TYPE
  71. ,A.RESOURCE_SUB_TYPE
  72. ,A.RESOURCE_ID
  73. ,A.RESOURCE_VERSION
  74. ,A.STAKES_MULTIPLIER
  75. ,A.RESOURCE_CNT
  76. ,A.resource_coin_value_calculated resource_coin_value
  77. ,A.resource_cnt * A.resource_coin_value_calculated AS total_coins_value
  78. ,A.INTERVAL_DATE as LAST_UPDATED_DT
  79. ,current_timestamp() as DW_INSERT_DT
  80. FROM
  81. (
  82. SELECT
  83. DATE(derived_tstamp) interval_date
  84. ,CASE
  85. WHEN trophies_cnt < 800 THEN '800'
  86. WHEN trophies_cnt < 3800 THEN 'Studios'
  87. WHEN trophies_cnt < 30000 THEN 'Master_League'
  88. WHEN trophies_cnt >= 30000 THEN 'Legends_League'
  89. END league,
  90. CASE
  91. WHEN trophies_cnt < 1500 THEN '0-1500'
  92. WHEN trophies_cnt < 3800 THEN '1500-3800'
  93. WHEN trophies_cnt < 8000 THEN '3800-8000'
  94. WHEN trophies_cnt < 17000 THEN '8000-17000'
  95. WHEN trophies_cnt < 30000 THEN '17000-30000'
  96. ELSE '30000+'
  97. END AS trophy_group,
  98. payers_segment,
  99. LTV_group,
  100. LO_EVENT_TYPE_config LO_EVENT_TYPE,
  101. event_type,
  102. is_received_resource,
  103. transaction_type,
  104. transaction_source_lvl_0,
  105. transaction_source,
  106. is_bargain,
  107. match_type,
  108. match_type_id,
  109. match_mode_type,
  110. resource_type,
  111. resource_sub_type,
  112. resource_id,
  113. resource_version,
  114. NVL(STAKES_MULTIPLIER, 1) AS STAKES_MULTIPLIER,
  115. resource_coin_value_calculated,
  116. SUM(resource_cnt) resource_cnt
  117.  
  118. FROM
  119. DATA
  120. GROUP BY all
  121. ) A
  122. WHERE 1=1
  123. AND A.interval_date >= current_date - 121
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement