Advertisement
YuvalGai

Untitled

Sep 17th, 2024
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 71.55 KB | None | 0 0
  1. t_modes_control = {
  2. '01_truncate_transformation_table': '''
  3. truncate MATCH_MASTERS.TRANSFORMATION.TRANS_MODES_CONTROL
  4. ''',
  5. '02_set_from_update_variable': '''
  6. set FROM_T_MODES_CONTROL_UPDATED_DT_MNG = (
  7. SELECT
  8. date(
  9. NVL(max(LAST_LOAD_DATE), to_timestamp('2024-08-23'))
  10. ) as LAST_UPDATED_DT_MNG
  11. FROM
  12. MATCH_MASTERS.manage.management_table
  13. WHERE
  14. 1 = 1
  15. AND table_name = 'CANDIVORE.SEMANTIC_LAYER.T_MODES_CONTROL'
  16. ORDER BY
  17. ID DESC
  18. LIMIT
  19. 1
  20. );
  21. ''',
  22. '03_set_to_update_variable': '''
  23. set TO_T_MODES_CONTROL_UPDATED_DT_MNG = (
  24. SELECT
  25. dateadd(day,-1,current_date())
  26. );
  27. ''',
  28. '04_insert_delta_into_trans_table': '''
  29.  
  30. INSERT INTO MATCH_MASTERS.TRANSFORMATION.TRANS_MODES_CONTROL (
  31. segment,
  32. user_segment,
  33. payers_segment,
  34. interval_date,
  35. lo_entry_id,
  36. match_type,
  37. LTV_group,
  38. trophy_group,
  39. arena_group,
  40. match_type_id,
  41. match_mode,
  42. modifier_1,
  43. modifier_2,
  44. match_modifier_3,
  45. is_random_mixer,
  46. rounds_cnt,
  47. event_start_date,
  48. min_time,
  49. max_time,
  50. unique_users_with_LESE_boosters,
  51. rumble_size,
  52. tournament_size,
  53. lo_event_id,
  54. lo_event_min_trophies,
  55. lo_event_max_trophies,
  56. calendar_order,
  57. hours,
  58. lo_entry_tickets_required,
  59. lo_visible_on_homescreen,
  60. lo_entry_min_booster_rarity,
  61. lo_entry_max_booster_rarity,
  62. lo_event_solo_moves_per_turn,
  63. elimination_round,
  64. lo_event_turn_duration_sec,
  65. lo_entry_is_private,
  66. LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  67. lo_event_wins_limit,
  68. lo_is_friendly,
  69. lo_event_max_lives,
  70. lo_event_badge,
  71. lo_entry_trophy_mode,
  72. lo_entry_trophy_gain,
  73. lo_entry_trophy_loss,
  74. unique_users_in_event_and_segment,
  75. legendary_boosters_spent,
  76. se_boosters_spent,
  77. DIAMOND1_BOOSTERS_SPENT,
  78. DIAMOND2_BOOSTERS_SPENT,
  79. DIAMOND3_BOOSTERS_SPENT,
  80. GOLD_BOOSTERS_SPENT,
  81. SILVER_BOOSTERS_SPENT,
  82. BRONZE_BOOSTERS_SPENT,
  83. LEGENDARY_BOOSTERS_EARNED,
  84. SE_BOOSTERS_EARNED,
  85. DIAMOND1_BOOSTERS_EARNED,
  86. DIAMOND2_BOOSTERS_EARNED,
  87. DIAMOND3_BOOSTERS_EARNED,
  88. GOLD_BOOSTERS_EARNED,
  89. SILVER_BOOSTERS_EARNED,
  90. BRONZE_BOOSTERS_EARNED,
  91. SHIELDS_EARNED,
  92. SHIELDS_SPENT,
  93. PERKS_EARNED,
  94. PERKS_SPENT,
  95. TICKETS_EARNED,
  96. TICKETS_SPENT,
  97. TROPHY_EARNED,
  98. TROPHY_SPENT,
  99. COINS_EARNED,
  100. COINS_SPENT,
  101. STICKERSEASONAL_EARNED,
  102. STICKERSILVER_EARNED,
  103. STICKERWHITE_EARNED,
  104. SPIN_EARNED,
  105. SUPERSPIN_EARNED,
  106. STICKERADVENTURE_EARNED,
  107. STICKERDIAMOND_EARNED,
  108. STICKERGOLD_EARNED,
  109. STICKERTOKEN_EARNED,
  110. stickerseasonal_earned_duplicate,
  111. stickersilver_earned_duplicate,
  112. stickerwhite_earned_duplicate,
  113. stickeradventure_earned_duplicate,
  114. stickerdiamond_earned_duplicate,
  115. stickergold_earned_duplicate,
  116. SUPERSPIN_EARNED_VALUE,
  117. STICKERADVENTURE_EARNED_VALUE,
  118. STICKERDIAMOND_EARNED_VALUE,
  119. STICKERGOLD_EARNED_VALUE,
  120. STICKERTOKEN_EARNED_VALUE,
  121. LEGENDARY_BOOSTERS_SPENT_VALUE,
  122. SE_BOOSTERS_SPENT_VALUE,
  123. DIAMOND1_BOOSTERS_SPENT_VALUE,
  124. DIAMOND2_BOOSTERS_SPENT_VALUE,
  125. DIAMOND3_BOOSTERS_SPENT_VALUE,
  126. GOLD_BOOSTERS_SPENT_VALUE,
  127. SILVER_BOOSTERS_SPENT_VALUE,
  128. BRONZE_BOOSTERS_SPENT_VALUE,
  129. LEGENDARY_BOOSTERS_EARNED_VALUE,
  130. SE_BOOSTERS_EARNED_VALUE,
  131. DIAMOND1_BOOSTERS_EARNED_VALUE,
  132. DIAMOND2_BOOSTERS_EARNED_VALUE,
  133. DIAMOND3_BOOSTERS_EARNED_VALUE,
  134. GOLD_BOOSTERS_EARNED_VALUE,
  135. SILVER_BOOSTERS_EARNED_VALUE,
  136. BRONZE_BOOSTERS_EARNED_VALUE,
  137. SHIELDS_EARNED_VALUE,
  138. SHIELDS_SPENT_VALUE,
  139. PERKS_EARNED_VALUE,
  140. PERKS_SPENT_VALUE,
  141. TICKETS_EARNED_VALUE,
  142. TICKETS_SPENT_VALUE,
  143. TROPHY_EARNED_VALUE,
  144. TROPHY_SPENT_VALUE,
  145. STICKERSEASONAL_EARNED_VALUE,
  146. STICKERSILVER_EARNED_VALUE,
  147. STICKERWHITE_EARNED_VALUE,
  148. SPIN_EARNED_VALUE,
  149. mini_game_tokens_earned_value,
  150. mini_game_tokens_earned,
  151. total_matches,
  152. total_seconds_played_in_segment,
  153. total_booster_activations_in_segment,
  154. total_match_score_in_segment,
  155. games_with_legendary_boosters,
  156. games_with_SE_boosters,
  157. diamond_losses,
  158. diamond3_losses,
  159. legendary_losses,
  160. SE_losses,
  161. total_losses,
  162. total_wins,
  163. legendary_wins,
  164. SE_wins,
  165. total_coin_value,
  166. total_match_ids,
  167. total_bots,
  168. total_on_fire,
  169. conceded_matches,
  170. total_perk_activations,
  171. Match_making_found_time,
  172. total_matches_for_tournament_calc,
  173. TWO_X_MATCHES,
  174. THREE_X_MATCHES,
  175. FOUR_X_MATCHES,
  176. FIVE_X_MATCHES,
  177. LE_points_earned,
  178. LE_value_earned,
  179. LAST_UPDATED_DT,
  180. DW_INSERT_DT
  181. )
  182.  
  183. select
  184. -- group by fields:
  185. segment,
  186. segment2 as user_segment,
  187. payers_segment,
  188. interval_date,
  189. lo_entry_id,
  190. match_type,
  191. LTV_group,
  192. trophy_group,
  193. arena_group,
  194. -- dimensions
  195. mode(match_type_id) match_type_id,
  196. mode(match_mode) match_mode,
  197. mode(modifier_1) modifier_1,
  198. mode(modifier_2) modifier_2,
  199. mode(match_modifier_3) match_modifier_3,
  200. mode(is_random_mixer) is_random_mixer,
  201. mode(rounds_cnt) rounds_cnt,
  202. mode(event_start_date) event_start_date,
  203. mode(min_time) min_time,
  204. mode(max_time) max_time,
  205. mode(unique_users_with_LESE_boosters) unique_users_with_LESE_boosters,
  206. mode(rumble_size) rumble_size,
  207. mode(tournament_size) tournament_size,
  208. mode(lo_event_id) lo_event_id,
  209. mode(lo_event_min_trophies) lo_event_min_trophies,
  210. mode(lo_event_max_trophies) lo_event_max_trophies,
  211. mode(calendar_order) calendar_order,
  212. mode(hours) hours,
  213. mode(lo_entry_tickets_required) lo_entry_tickets_required,
  214. mode(lo_visible_on_homescreen) lo_visible_on_homescreen,
  215. mode(lo_entry_min_booster_rarity) lo_entry_min_booster_rarity,
  216. mode(lo_entry_max_booster_rarity) lo_entry_max_booster_rarity,
  217. mode(lo_event_solo_moves_per_turn) lo_event_solo_moves_per_turn,
  218. mode(elimination_round) elimination_round,
  219. mode(lo_event_turn_duration_sec) lo_event_turn_duration_sec,
  220. mode(lo_entry_is_private) lo_entry_is_private,
  221. mode(LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE) LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  222. mode(lo_event_wins_limit) lo_event_wins_limit,
  223. mode(lo_is_friendly) lo_is_friendly,
  224. mode(lo_event_max_lives) lo_event_max_lives,
  225. mode(lo_event_badge) lo_event_badge,
  226. mode(lo_entry_trophy_mode) lo_entry_trophy_mode,
  227. mode(lo_entry_trophy_gain) lo_entry_trophy_gain,
  228. mode(lo_entry_trophy_loss) lo_entry_trophy_loss,
  229. mode(unique_users_in_event_and_segment) unique_users_in_event_and_segment,
  230. -- measure fields
  231. sum(legendary_boosters_spent) legendary_boosters_spent,
  232. sum(se_boosters_spent) se_boosters_spent,
  233. sum(DIAMOND1_BOOSTERS_SPENT) DIAMOND1_BOOSTERS_SPENT,
  234. sum(DIAMOND2_BOOSTERS_SPENT) DIAMOND2_BOOSTERS_SPENT,
  235. sum(DIAMOND3_BOOSTERS_SPENT) DIAMOND3_BOOSTERS_SPENT,
  236. sum(GOLD_BOOSTERS_SPENT) GOLD_BOOSTERS_SPENT,
  237. sum(SILVER_BOOSTERS_SPENT) SILVER_BOOSTERS_SPENT,
  238. sum(BRONZE_BOOSTERS_SPENT) BRONZE_BOOSTERS_SPENT,
  239. sum(LEGENDARY_BOOSTERS_EARNED) LEGENDARY_BOOSTERS_EARNED,
  240. sum(SE_BOOSTERS_EARNED) SE_BOOSTERS_EARNED,
  241. sum(DIAMOND1_BOOSTERS_EARNED) DIAMOND1_BOOSTERS_EARNED,
  242. sum(DIAMOND2_BOOSTERS_EARNED) DIAMOND2_BOOSTERS_EARNED,
  243. sum(DIAMOND3_BOOSTERS_EARNED) DIAMOND3_BOOSTERS_EARNED,
  244. sum(GOLD_BOOSTERS_EARNED) GOLD_BOOSTERS_EARNED,
  245. sum(SILVER_BOOSTERS_EARNED) SILVER_BOOSTERS_EARNED,
  246. sum(BRONZE_BOOSTERS_EARNED) BRONZE_BOOSTERS_EARNED,
  247. sum(SHIELDS_EARNED) SHIELDS_EARNED,
  248. sum(SHIELDS_SPENT) SHIELDS_SPENT,
  249. sum(PERKS_EARNED) PERKS_EARNED,
  250. sum(PERKS_SPENT) PERKS_SPENT,
  251. sum(TICKETS_EARNED) TICKETS_EARNED,
  252. sum(TICKETS_SPENT) TICKETS_SPENT,
  253. sum(TROPHY_EARNED) TROPHY_EARNED,
  254. sum(TROPHY_SPENT) TROPHY_SPENT,
  255. sum(COINS_EARNED) COINS_EARNED,
  256. sum(COINS_SPENT) COINS_SPENT,
  257. sum(STICKERSEASONAL_EARNED) STICKERSEASONAL_EARNED,
  258. sum(STICKERSILVER_EARNED) STICKERSILVER_EARNED,
  259. sum(STICKERWHITE_EARNED) STICKERWHITE_EARNED,
  260. sum(SPIN_EARNED) SPIN_EARNED,
  261. sum(SUPERSPIN_EARNED) SUPERSPIN_EARNED,
  262. sum(STICKERADVENTURE_EARNED) STICKERADVENTURE_EARNED,
  263. sum(STICKERDIAMOND_EARNED) STICKERDIAMOND_EARNED,
  264. sum(STICKERGOLD_EARNED) STICKERGOLD_EARNED,
  265. sum(STICKERTOKEN_EARNED) STICKERTOKEN_EARNED,
  266. sum(stickerseasonal_earned_duplicate) stickerseasonal_earned_duplicate,
  267. sum(stickersilver_earned_duplicate) stickersilver_earned_duplicate,
  268. sum(stickerwhite_earned_duplicate) stickerwhite_earned_duplicate,
  269. sum(stickeradventure_earned_duplicate) stickeradventure_earned_duplicate,
  270. sum(stickerdiamond_earned_duplicate) stickerdiamond_earned_duplicate,
  271. sum(stickergold_earned_duplicate) stickergold_earned_duplicate,
  272. sum(SUPERSPIN_EARNED_VALUE) SUPERSPIN_EARNED_VALUE,
  273. sum(STICKERADVENTURE_EARNED_VALUE) STICKERADVENTURE_EARNED_VALUE,
  274. sum(STICKERDIAMOND_EARNED_VALUE) STICKERDIAMOND_EARNED_VALUE,
  275. sum(STICKERGOLD_EARNED_VALUE) STICKERGOLD_EARNED_VALUE,
  276. sum(STICKERTOKEN_EARNED_VALUE) STICKERTOKEN_EARNED_VALUE,
  277. sum(LEGENDARY_BOOSTERS_SPENT_VALUE) LEGENDARY_BOOSTERS_SPENT_VALUE,
  278. sum(SE_BOOSTERS_SPENT_VALUE) SE_BOOSTERS_SPENT_VALUE,
  279. sum(DIAMOND1_BOOSTERS_SPENT_VALUE) DIAMOND1_BOOSTERS_SPENT_VALUE,
  280. sum(DIAMOND2_BOOSTERS_SPENT_VALUE) DIAMOND2_BOOSTERS_SPENT_VALUE,
  281. sum(DIAMOND3_BOOSTERS_SPENT_VALUE) DIAMOND3_BOOSTERS_SPENT_VALUE,
  282. sum(GOLD_BOOSTERS_SPENT_VALUE) GOLD_BOOSTERS_SPENT_VALUE,
  283. sum(SILVER_BOOSTERS_SPENT_VALUE) SILVER_BOOSTERS_SPENT_VALUE,
  284. sum(BRONZE_BOOSTERS_SPENT_VALUE) BRONZE_BOOSTERS_SPENT_VALUE,
  285. sum(LEGENDARY_BOOSTERS_EARNED_VALUE) LEGENDARY_BOOSTERS_EARNED_VALUE,
  286. sum(SE_BOOSTERS_EARNED_VALUE) SE_BOOSTERS_EARNED_VALUE,
  287. sum(DIAMOND1_BOOSTERS_EARNED_VALUE) DIAMOND1_BOOSTERS_EARNED_VALUE,
  288. sum(DIAMOND2_BOOSTERS_EARNED_VALUE) DIAMOND2_BOOSTERS_EARNED_VALUE,
  289. sum(DIAMOND3_BOOSTERS_EARNED_VALUE) DIAMOND3_BOOSTERS_EARNED_VALUE,
  290. sum(GOLD_BOOSTERS_EARNED_VALUE) GOLD_BOOSTERS_EARNED_VALUE,
  291. sum(SILVER_BOOSTERS_EARNED_VALUE) SILVER_BOOSTERS_EARNED_VALUE,
  292. sum(BRONZE_BOOSTERS_EARNED_VALUE) BRONZE_BOOSTERS_EARNED_VALUE,
  293. sum(SHIELDS_EARNED_VALUE) SHIELDS_EARNED_VALUE,
  294. sum(SHIELDS_SPENT_VALUE) SHIELDS_SPENT_VALUE,
  295. sum(PERKS_EARNED_VALUE) PERKS_EARNED_VALUE,
  296. sum(PERKS_SPENT_VALUE) PERKS_SPENT_VALUE,
  297. sum(TICKETS_EARNED_VALUE) TICKETS_EARNED_VALUE,
  298. sum(TICKETS_SPENT_VALUE) TICKETS_SPENT_VALUE,
  299. sum(TROPHY_EARNED_VALUE) TROPHY_EARNED_VALUE,
  300. sum(TROPHY_SPENT_VALUE) TROPHY_SPENT_VALUE,
  301. sum(STICKERSEASONAL_EARNED_VALUE) STICKERSEASONAL_EARNED_VALUE,
  302. sum(STICKERSILVER_EARNED_VALUE) STICKERSILVER_EARNED_VALUE,
  303. sum(STICKERWHITE_EARNED_VALUE) STICKERWHITE_EARNED_VALUE,
  304. sum(SPIN_EARNED_VALUE) SPIN_EARNED_VALUE,
  305. sum(mini_game_tokens_earned_value) mini_game_tokens_earned_value,
  306. sum(mini_game_tokens_earned) mini_game_tokens_earned,
  307. sum(total_matches) total_matches,
  308. sum(total_seconds_played_in_segment) total_seconds_played_in_segment,
  309. sum(total_booster_activations_in_segment) total_booster_activations_in_segment,
  310. sum(total_match_score_in_segment) total_match_score_in_segment,
  311. sum(games_with_legendary_boosters) games_with_legendary_boosters,
  312. sum(games_with_SE_boosters) games_with_SE_boosters,
  313. sum(diamond_losses) diamond_losses,
  314. sum(diamond3_losses) diamond3_losses,
  315. sum(legendary_losses) legendary_losses,
  316. sum(SE_losses) SE_losses,
  317. sum(total_losses) total_losses,
  318. sum(total_wins) total_wins,
  319. sum(legendary_wins) legendary_wins,
  320. sum(SE_wins) SE_wins,
  321. sum(total_coin_value) total_coin_value,
  322. sum(total_match_ids) total_match_ids,
  323. sum(total_bots) total_bots,
  324. sum(total_on_fire) total_on_fire,
  325. sum(conceded_matches) conceded_matches,
  326. sum(total_perk_activations) total_perk_activations,
  327. sum(Match_making_found_time) Match_making_found_time,
  328. sum(total_matches_for_tournament_calc) total_matches_for_tournament_calc,
  329. sum(TWO_X_MATCHES) TWO_X_MATCHES,
  330. sum(THREE_X_MATCHES) THREE_X_MATCHES,
  331. sum(FOUR_X_MATCHES) FOUR_X_MATCHES,
  332. sum(FIVE_X_MATCHES) FIVE_X_MATCHES,
  333. sum(LE_points_earned) LE_points_earned,
  334. sum(LE_value_earned) LE_value_earned,
  335. to_timestamp(INTERVAL_DATE) as LAST_UPDATED_DT,
  336. current_timestamp() as DW_INSERT_DT
  337. from (
  338. select
  339. COALESCE(Transactions.interval_date,Matches.interval_date) interval_date,
  340. COALESCE(Transactions.user_id,Matches.user_id) user_id,
  341. COALESCE(Transactions.lo_entry_id,Matches.lo_entry_id) lo_entry_id,
  342. COALESCE(Transactions.match_type,Matches.match_type,'NA') match_type,
  343. Transactions.legendary_boosters_spent,
  344. Transactions.se_boosters_spent,
  345. nvl(Transactions.segment2,'NA') segment2,
  346. Transactions.DIAMOND1_BOOSTERS_SPENT,
  347. Transactions.DIAMOND2_BOOSTERS_SPENT,
  348. Transactions.DIAMOND3_BOOSTERS_SPENT,
  349. Transactions.GOLD_BOOSTERS_SPENT,
  350. Transactions.SILVER_BOOSTERS_SPENT,
  351. Transactions.BRONZE_BOOSTERS_SPENT,
  352. Transactions.LEGENDARY_BOOSTERS_EARNED,
  353. Transactions.SE_BOOSTERS_EARNED,
  354. Transactions.DIAMOND1_BOOSTERS_EARNED,
  355. Transactions.DIAMOND2_BOOSTERS_EARNED,
  356. Transactions.DIAMOND3_BOOSTERS_EARNED,
  357. Transactions.GOLD_BOOSTERS_EARNED,
  358. Transactions.SILVER_BOOSTERS_EARNED,
  359. Transactions.BRONZE_BOOSTERS_EARNED,
  360. Transactions.SHIELDS_EARNED,
  361. Transactions.SHIELDS_SPENT,
  362. Transactions.PERKS_EARNED,
  363. Transactions.PERKS_SPENT,
  364. Transactions.TICKETS_EARNED,
  365. Transactions.TICKETS_SPENT,
  366. Transactions.TROPHY_EARNED,
  367. Transactions.TROPHY_SPENT,
  368. Transactions.COINS_EARNED,
  369. Transactions.COINS_SPENT,
  370. Transactions.STICKERSEASONAL_EARNED,
  371. Transactions.STICKERSILVER_EARNED,
  372. Transactions.STICKERWHITE_EARNED,
  373. Transactions.SPIN_EARNED,
  374. Transactions.SUPERSPIN_EARNED,
  375. Transactions.STICKERADVENTURE_EARNED,
  376. Transactions.STICKERDIAMOND_EARNED,
  377. Transactions.STICKERGOLD_EARNED,
  378. Transactions.STICKERTOKEN_EARNED,
  379. Transactions.stickerseasonal_earned_duplicate,
  380. Transactions.stickersilver_earned_duplicate,
  381. Transactions.stickerwhite_earned_duplicate,
  382. Transactions.stickeradventure_earned_duplicate,
  383. Transactions.stickerdiamond_earned_duplicate,
  384. Transactions.stickergold_earned_duplicate,
  385. Transactions.SUPERSPIN_EARNED_VALUE,
  386. Transactions.STICKERADVENTURE_EARNED_VALUE,
  387. Transactions.STICKERDIAMOND_EARNED_VALUE,
  388. Transactions.STICKERGOLD_EARNED_VALUE,
  389. Transactions.STICKERTOKEN_EARNED_VALUE,
  390. Transactions.LEGENDARY_BOOSTERS_SPENT_VALUE,
  391. Transactions.SE_BOOSTERS_SPENT_VALUE,
  392. Transactions.DIAMOND1_BOOSTERS_SPENT_VALUE,
  393. Transactions.DIAMOND2_BOOSTERS_SPENT_VALUE,
  394. Transactions.DIAMOND3_BOOSTERS_SPENT_VALUE,
  395. Transactions.GOLD_BOOSTERS_SPENT_VALUE,
  396. Transactions.SILVER_BOOSTERS_SPENT_VALUE,
  397. Transactions.BRONZE_BOOSTERS_SPENT_VALUE,
  398. Transactions.LEGENDARY_BOOSTERS_EARNED_VALUE,
  399. Transactions.SE_BOOSTERS_EARNED_VALUE,
  400. Transactions.DIAMOND1_BOOSTERS_EARNED_VALUE,
  401. Transactions.DIAMOND2_BOOSTERS_EARNED_VALUE,
  402. Transactions.DIAMOND3_BOOSTERS_EARNED_VALUE,
  403. Transactions.GOLD_BOOSTERS_EARNED_VALUE,
  404. Transactions.SILVER_BOOSTERS_EARNED_VALUE,
  405. Transactions.BRONZE_BOOSTERS_EARNED_VALUE,
  406. Transactions.SHIELDS_EARNED_VALUE,
  407. Transactions.SHIELDS_SPENT_VALUE,
  408. Transactions.PERKS_EARNED_VALUE,
  409. Transactions.PERKS_SPENT_VALUE,
  410. Transactions.TICKETS_EARNED_VALUE,
  411. Transactions.TICKETS_SPENT_VALUE,
  412. Transactions.TROPHY_EARNED_VALUE,
  413. Transactions.TROPHY_SPENT_VALUE,
  414. Transactions.STICKERSEASONAL_EARNED_VALUE,
  415. Transactions.STICKERSILVER_EARNED_VALUE,
  416. Transactions.STICKERWHITE_EARNED_VALUE,
  417. Transactions.SPIN_EARNED_VALUE,
  418. Transactions.mini_game_tokens_earned_value,
  419. Transactions.mini_game_tokens_earned,
  420. Matches.match_type_id,
  421. Matches.match_mode,
  422. Matches.modifier_1,
  423. Matches.modifier_2,
  424. Matches.match_modifier_3,
  425. Matches.is_random_mixer,
  426. Matches.rounds_cnt,
  427. Matches.total_matches,
  428. Matches.event_start_date,
  429. Matches.total_seconds_played_in_segment,
  430. Matches.total_booster_activations_in_segment,
  431. Matches.total_match_score_in_segment,
  432. Matches.games_with_legendary_boosters,
  433. Matches.games_with_SE_boosters,
  434. Matches.diamond_losses,
  435. Matches.diamond3_losses,
  436. Matches.legendary_losses,
  437. Matches.SE_losses,
  438. Matches.total_losses,
  439. Matches.total_wins,
  440. Matches.legendary_wins,
  441. Matches.SE_wins,
  442. Matches.min_time,
  443. Matches.max_time,
  444. Matches.unique_users_with_LESE_boosters,
  445. Matches.total_coin_value,
  446. Matches.total_match_ids,
  447. Matches.rumble_size,
  448. Matches.tournament_size,
  449. Matches.total_bots,
  450. Matches.total_on_fire,
  451. Matches.conceded_matches,
  452. Matches.total_perk_activations,
  453. Matches.Match_making_found_time,
  454. Matches.total_matches_for_tournament_calc,
  455. Matches.TWO_X_MATCHES,
  456. Matches.THREE_X_MATCHES,
  457. Matches.FOUR_X_MATCHES,
  458. Matches.FIVE_X_MATCHES,
  459. Matches.LTV_group,
  460. Matches.trophy_group,
  461. Matches.arena_group,
  462. Event_Dim.lo_event_id,
  463. Event_Dim.lo_event_min_trophies,
  464. Event_Dim.lo_event_max_trophies,
  465. Event_Dim.calendar_order,
  466. Event_Dim.hours,
  467. Event_Dim.lo_entry_tickets_required,
  468. Event_Dim.lo_visible_on_homescreen,
  469. Event_Dim.lo_entry_min_booster_rarity,
  470. Event_Dim.lo_entry_max_booster_rarity,
  471. Event_Dim.lo_event_solo_moves_per_turn,
  472. Event_Dim.lo_event_turn_amt elimination_round,
  473. Event_Dim.lo_event_turn_duration_sec,
  474. Event_Dim.lo_entry_is_private,
  475. Event_Dim.LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  476. Event_Dim.lo_event_wins_limit,
  477. Event_Dim.lo_is_friendly,
  478. Event_Dim.lo_event_max_lives,
  479. Event_Dim.lo_event_badge,
  480. Event_Dim.lo_entry_trophy_mode,
  481. Event_Dim.lo_entry_trophy_gain,
  482. Event_Dim.lo_entry_trophy_loss,
  483. Lo_points.points_earned LE_points_earned,
  484. Lo_points.value_earned LE_value_earned,
  485. nvl(Lo_points.segment,'NA') segment,
  486. nvl(Daily_Segments.payers_segment,'NA') payers_segment,
  487. count(distinct Transactions.user_id) over(partition by Transactions.lo_entry_id,Matches.LTV_group,Matches.trophy_group,Matches.arena_group,segment,payers_segment,segment2) unique_users_in_event_and_segment
  488. from
  489.  
  490. (SELECT
  491. DATE(derived_tstamp) interval_date,
  492. user_id,
  493. ifnull(CASE WHEN lo_entry_id = '' THEN NULL ELSE lo_entry_id END, 'NA') as lo_entry_id,
  494. match_type,
  495. case when lo_segment in ('Default','Change') then lo_segment else null end segment2,
  496. SUM(
  497. CASE
  498. WHEN resource_sub_type = 'Legendary'
  499. AND is_received_resource = 0 THEN resource_cnt
  500. END
  501. ) AS legendary_boosters_spent,
  502. SUM(
  503. CASE
  504. WHEN resource_sub_type = 'Special Edition'
  505. AND is_received_resource = 0 THEN resource_cnt
  506. END
  507. ) AS se_boosters_spent,
  508. SUM(
  509. CASE
  510. WHEN resource_sub_type = 'Diamond 1'
  511. AND is_received_resource = 0 THEN resource_cnt
  512. END
  513. ) AS diamond1_boosters_spent,
  514. SUM(
  515. CASE
  516. WHEN resource_sub_type = 'Diamond 2'
  517. AND is_received_resource = 0 THEN resource_cnt
  518. END
  519. ) AS diamond2_boosters_spent,
  520. SUM(
  521. CASE
  522. WHEN resource_sub_type = 'Diamond 3'
  523. AND is_received_resource = 0 THEN resource_cnt
  524. END
  525. ) AS diamond3_boosters_spent,
  526. SUM(
  527. CASE
  528. WHEN resource_sub_type = 'Gold'
  529. and resource_type = 'Booster'
  530. AND is_received_resource = 0 THEN resource_cnt
  531. END
  532. ) AS gold_boosters_spent,
  533. SUM(
  534. CASE
  535. WHEN resource_sub_type = 'Silver'
  536. and resource_type = 'Booster'
  537. AND is_received_resource = 0 THEN resource_cnt
  538. END
  539. ) AS silver_boosters_spent,
  540. SUM(
  541. CASE
  542. WHEN resource_sub_type = 'Bronze'
  543. AND is_received_resource = 0 THEN resource_cnt
  544. END
  545. ) AS bronze_boosters_spent,
  546. SUM(
  547. CASE
  548. WHEN resource_sub_type = 'Legendary'
  549. AND is_received_resource = resource_cnt THEN 1
  550. END
  551. ) AS legendary_boosters_earned,
  552. SUM(
  553. CASE
  554. WHEN resource_sub_type = 'Special Edition'
  555. AND is_received_resource = resource_cnt THEN 1
  556. END
  557. ) AS se_boosters_earned,
  558. SUM(
  559. CASE
  560. WHEN resource_sub_type = 'Diamond 1'
  561. AND is_received_resource = 1 THEN resource_cnt
  562. END
  563. ) AS diamond1_boosters_earned,
  564. SUM(
  565. CASE
  566. WHEN resource_sub_type = 'Diamond 2'
  567. AND is_received_resource = 1 THEN resource_cnt
  568. END
  569. ) AS diamond2_boosters_earned,
  570. SUM(
  571. CASE
  572. WHEN resource_sub_type = 'Diamond 3'
  573. AND is_received_resource = 1 THEN resource_cnt
  574. END
  575. ) AS diamond3_boosters_earned,
  576. SUM(
  577. CASE
  578. WHEN resource_sub_type = 'Gold'
  579. and resource_type = 'Booster'
  580. AND is_received_resource = 1 THEN resource_cnt
  581. END
  582. ) AS gold_boosters_earned,
  583. SUM(
  584. CASE
  585. WHEN resource_sub_type = 'Silver'
  586. AND is_received_resource = 1 THEN resource_cnt
  587. END
  588. ) AS silver_boosters_earned,
  589. SUM(
  590. CASE
  591. WHEN resource_sub_type = 'Bronze'
  592. AND is_received_resource = 1 THEN resource_cnt
  593. END
  594. ) AS bronze_boosters_earned,
  595. SUM(
  596. CASE
  597. WHEN resource_type = 'Shield'
  598. AND is_received_resource = 1 THEN resource_cnt
  599. END
  600. ) AS shields_earned,
  601. SUM(
  602. CASE
  603. WHEN resource_type = 'Shield'
  604. AND is_received_resource = 0 THEN resource_cnt
  605. END
  606. ) AS shields_spent,
  607. SUM(
  608. CASE
  609. WHEN resource_type = 'Perk'
  610. AND is_received_resource = 1 THEN resource_cnt
  611. END
  612. ) AS perks_earned,
  613. SUM(
  614. CASE
  615. WHEN resource_type = 'Perk'
  616. AND is_received_resource = 0 THEN resource_cnt
  617. END
  618. ) AS perks_spent,
  619. SUM(
  620. CASE
  621. WHEN resource_type = 'Ticket'
  622. AND is_received_resource = 1 THEN resource_cnt
  623. END
  624. ) AS tickets_earned,
  625. SUM(
  626. CASE
  627. WHEN resource_type = 'Ticket'
  628. AND is_received_resource = 0 THEN resource_cnt
  629. END
  630. ) AS tickets_spent,
  631. SUM(
  632. CASE
  633. WHEN resource_type = 'Trophy'
  634. AND is_received_resource = 1 THEN resource_cnt
  635. END
  636. ) AS trophy_earned,
  637. SUM(
  638. CASE
  639. WHEN resource_type = 'Trophy'
  640. AND is_received_resource = 0 THEN resource_cnt
  641. END
  642. ) AS trophy_spent,
  643. SUM(
  644. CASE
  645. WHEN resource_id = 'Coin'
  646. AND is_received_resource = 1 THEN resource_cnt
  647. END
  648. ) AS coins_earned,
  649. SUM(
  650. CASE
  651. WHEN resource_id = 'Coin'
  652. AND is_received_resource = 0 THEN resource_cnt
  653. END
  654. ) AS coins_spent,
  655. sum(
  656. case
  657. when resource_id = 'StickerSeasonal'
  658. and is_received_resource = 1
  659. and resource_item_status = 'unique' then resource_cnt
  660. else 0
  661. end
  662. ) as StickerSeasonal_earned,
  663. sum(
  664. case
  665. when resource_id = 'StickerSilver'
  666. and is_received_resource = 1
  667. and resource_item_status = 'unique' then resource_cnt
  668. else 0
  669. end
  670. ) as StickerSilver_earned,
  671. sum(
  672. case
  673. when resource_id = 'StickerWhite'
  674. and is_received_resource = 1
  675. and resource_item_status = 'unique' then resource_cnt
  676. else 0
  677. end
  678. ) as StickerWhite_earned,
  679. sum(
  680. case
  681. when resource_id = 'StickerAdventure'
  682. and is_received_resource = 1
  683. and resource_item_status = 'unique' then resource_cnt
  684. end
  685. ) as StickerAdventure_earned,
  686. sum(
  687. case
  688. when resource_id = 'StickerDiamond'
  689. and is_received_resource = 1
  690. and resource_item_status = 'unique' then resource_cnt
  691. end
  692. ) as StickerDiamond_earned,
  693. sum(
  694. case
  695. when resource_id = 'StickerGold'
  696. and is_received_resource = 1
  697. and resource_item_status = 'unique' then resource_cnt
  698. end
  699. ) as StickerGold_earned,
  700. sum(
  701. case
  702. when resource_id = 'StickerSeasonal'
  703. and is_received_resource = 1
  704. and resource_item_status = 'duplicate' then resource_cnt
  705. else 0
  706. end
  707. ) as StickerSeasonal_earned_duplicate,
  708. sum(
  709. case
  710. when resource_id = 'StickerSilver'
  711. and is_received_resource = 1
  712. and resource_item_status = 'duplicate' then resource_cnt
  713. else 0
  714. end
  715. ) as StickerSilver_earned_duplicate,
  716. sum(
  717. case
  718. when resource_id = 'StickerWhite'
  719. and is_received_resource = 1
  720. and resource_item_status = 'duplicate' then resource_cnt
  721. else 0
  722. end
  723. ) as StickerWhite_earned_duplicate,
  724. sum(
  725. case
  726. when resource_id = 'StickerAdventure'
  727. and is_received_resource = 1
  728. and resource_item_status = 'duplicate' then resource_cnt
  729. end
  730. ) as StickerAdventure_earned_duplicate,
  731. sum(
  732. case
  733. when resource_id = 'StickerDiamond'
  734. and is_received_resource = 1
  735. and resource_item_status = 'duplicate' then resource_cnt
  736. end
  737. ) as StickerDiamond_earned_duplicate,
  738. sum(
  739. case
  740. when resource_id = 'StickerGold'
  741. and is_received_resource = 1
  742. and resource_item_status = 'duplicate' then resource_cnt
  743. end
  744. ) as StickerGold_earned_duplicate,
  745. sum(
  746. case
  747. when resource_id = 'Spin'
  748. and is_received_resource = 1 then resource_cnt
  749. else 0
  750. end
  751. ) as Spin_earned,
  752. sum(
  753. case
  754. when resource_id = 'SuperSpin'
  755. and is_received_resource = 1 then resource_cnt
  756. end
  757. ) as SuperSpin_earned,
  758. sum(
  759. case
  760. when resource_id = 'StickerToken'
  761. and is_received_resource = 1 then resource_cnt
  762. end
  763. ) as StickerToken_earned,
  764. sum(
  765. case
  766. when resource_id = 'SuperSpin'
  767. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  768. end
  769. ) as SuperSpin_earned_value,
  770. sum(
  771. case
  772. when resource_id = 'StickerAdventure'
  773. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  774. end
  775. ) as StickerAdventure_earned_value,
  776. sum(
  777. case
  778. when resource_id = 'StickerDiamond'
  779. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  780. end
  781. ) as StickerDiamond_earned_value,
  782. sum(
  783. case
  784. when resource_id = 'StickerGold'
  785. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  786. end
  787. ) as StickerGold_earned_value,
  788. sum(
  789. case
  790. when resource_id = 'StickerToken'
  791. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  792. end
  793. ) as StickerToken_earned_value,
  794. SUM(
  795. CASE
  796. WHEN resource_sub_type = 'Legendary'
  797. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  798. END
  799. ) AS legendary_boosters_spent_value,
  800. SUM(
  801. CASE
  802. WHEN resource_sub_type = 'Special Edition'
  803. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  804. END
  805. ) AS se_boosters_spent_value,
  806. SUM(
  807. CASE
  808. WHEN resource_sub_type = 'Diamond 1'
  809. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  810. END
  811. ) AS diamond1_boosters_spent_value,
  812. SUM(
  813. CASE
  814. WHEN resource_sub_type = 'Diamond 2'
  815. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  816. END
  817. ) AS diamond2_boosters_spent_value,
  818. SUM(
  819. CASE
  820. WHEN resource_sub_type = 'Diamond 3'
  821. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  822. END
  823. ) AS diamond3_boosters_spent_value,
  824. SUM(
  825. CASE
  826. WHEN resource_sub_type = 'Gold'
  827. and resource_type = 'Booster'
  828. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  829. END
  830. ) AS gold_boosters_spent_value,
  831. SUM(
  832. CASE
  833. WHEN resource_sub_type = 'Silver'
  834. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  835. END
  836. ) AS silver_boosters_spent_value,
  837. SUM(
  838. CASE
  839. WHEN resource_sub_type = 'Bronze'
  840. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  841. END
  842. ) AS bronze_boosters_spent_value,
  843. SUM(
  844. CASE
  845. WHEN resource_sub_type = 'Legendary'
  846. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  847. END
  848. ) AS legendary_boosters_earned_value,
  849. SUM(
  850. CASE
  851. WHEN resource_sub_type = 'Special Edition'
  852. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  853. END
  854. ) AS se_boosters_earned_value,
  855. SUM(
  856. CASE
  857. WHEN resource_sub_type = 'Diamond 1'
  858. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  859. END
  860. ) AS diamond1_boosters_earned_value,
  861. SUM(
  862. CASE
  863. WHEN resource_sub_type = 'Diamond 2'
  864. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  865. END
  866. ) AS diamond2_boosters_earned_value,
  867. SUM(
  868. CASE
  869. WHEN resource_sub_type = 'Diamond 3'
  870. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  871. END
  872. ) AS diamond3_boosters_earned_value,
  873. SUM(
  874. CASE
  875. WHEN resource_sub_type = 'Gold'
  876. and resource_type = 'Booster'
  877. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  878. END
  879. ) AS gold_boosters_earned_value,
  880. SUM(
  881. CASE
  882. WHEN resource_sub_type = 'Silver'
  883. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  884. END
  885. ) AS silver_boosters_earned_value,
  886. SUM(
  887. CASE
  888. WHEN resource_sub_type = 'Bronze'
  889. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  890. END
  891. ) AS bronze_boosters_earned_value,
  892. SUM(
  893. CASE
  894. WHEN resource_type = 'Shield'
  895. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  896. END
  897. ) AS shields_earned_value,
  898. SUM(
  899. CASE
  900. WHEN resource_type = 'Shield'
  901. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  902. END
  903. ) AS shields_spent_value,
  904. SUM(
  905. CASE
  906. WHEN resource_type = 'Perk' and resource_sub_type = 'Paid'
  907. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  908. END
  909. ) AS perks_earned_value,
  910. SUM(
  911. CASE
  912. WHEN resource_type = 'Perk' and resource_sub_type = 'Paid'
  913. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  914. END
  915. ) AS perks_spent_value,
  916. SUM(
  917. CASE
  918. WHEN resource_type = 'Ticket'
  919. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  920. END
  921. ) AS tickets_earned_value,
  922. SUM(
  923. CASE
  924. WHEN resource_type = 'Ticket'
  925. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  926. END
  927. ) AS tickets_spent_value,
  928. SUM(
  929. CASE
  930. WHEN resource_type = 'Trophy'
  931. AND is_received_resource = 1 THEN resource_cnt * resource_coin_value_calculated
  932. END
  933. ) AS trophy_earned_value,
  934. SUM(
  935. CASE
  936. WHEN resource_type = 'Trophy'
  937. AND is_received_resource = 0 THEN resource_cnt * resource_coin_value_calculated
  938. END
  939. ) AS trophy_spent_value,
  940. sum(
  941. case
  942. when resource_id = 'StickerSeasonal'
  943. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  944. else 0
  945. end
  946. ) as StickerSeasonal_earned_value,
  947. sum(
  948. case
  949. when resource_id = 'StickerSilver'
  950. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  951. else 0
  952. end
  953. ) as StickerSilver_earned_value,
  954. sum(
  955. case
  956. when resource_id = 'StickerWhite'
  957. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  958. else 0
  959. end
  960. ) as StickerWhite_earned_value,
  961. sum(
  962. case
  963. when resource_id = 'Spin'
  964. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  965. else 0
  966. end
  967. ) as Spin_earned_value
  968. sum(
  969. case
  970. when resource_id = 'mini_game_tokens'
  971. and is_received_resource = 1 then resource_cnt * resource_coin_value_calculated
  972. else 0
  973. end
  974. ) as mini_game_tokens_earned_value
  975. sum(
  976. case
  977. when resource_id = 'mini_game_tokens'
  978. and is_received_resource = 1 then resource_cnt
  979. else 0
  980. end
  981. ) as mini_game_tokens_earned
  982. FROM MATCH_MASTERS.PROD.F_USER_RESOURCE_TRANSACTION
  983. WHERE
  984. (match_type_id > 0 OR transaction_source = 'live_event')
  985. and (
  986. transaction_source in('live_event','match_end','disconnection_refund','match_start')
  987. OR transaction_source LIKE 'tournament%'
  988. )
  989. AND DATE(derived_tstamp) between DATEADD(day, -6, $FROM_T_MODES_CONTROL_UPDATED_DT_MNG) and $TO_T_MODES_CONTROL_UPDATED_DT_MNG
  990. GROUP BY ALL -- (5)
  991. ) Transactions
  992. full outer JOIN
  993. (SELECT
  994. date(derived_tstamp) interval_date
  995. ,user_id
  996. ,ifnull(calendar_entry_id, 'NA') lo_entry_id
  997. ,match_type
  998. ,CASE
  999. WHEN mode(trophies_cnt) < 800 THEN '800'
  1000. WHEN mode(trophies_cnt) < 3800 THEN 'Studios'
  1001. WHEN mode(trophies_cnt) < 30000 THEN 'Master_League'
  1002. WHEN mode(trophies_cnt) >= 30000 THEN 'Legends_League'
  1003. END arena_group
  1004. ,CASE
  1005. WHEN mode(trophies_cnt) < 1500 THEN '0-1500'
  1006. WHEN mode(trophies_cnt) < 3800 THEN '1500-3800'
  1007. WHEN mode(trophies_cnt) < 8000 THEN '3800-8000'
  1008. WHEN mode(trophies_cnt) < 17000 THEN '8000-17000'
  1009. WHEN mode(trophies_cnt) < 30000 THEN '17000-30000'
  1010. ELSE '30000+'
  1011. END AS trophy_group,
  1012. mode(LTV_group) LTV_group,
  1013. mode(unique_users) unique_users,
  1014. mode(unique_users_with_LESE_boosters) unique_users_with_LESE_boosters,
  1015. min(event_start_date) event_start_date,
  1016. mode(match_type_id) match_type_id,
  1017. mode(tournament_size) tournament_size,
  1018. min(min_time) min_time,
  1019. min(max_time) max_time,
  1020. mode(rumble_size) rumble_size,
  1021. mode(rounds_cnt) rounds_cnt,
  1022. mode(is_random_mixer) is_random_mixer,
  1023. mode(modifier_1) modifier_1,
  1024. mode(modifier_2) modifier_2,
  1025. mode(ifnull(match_modifier_3, '')) match_modifier_3,
  1026. CASE
  1027. WHEN mode(is_random_mixer) = TRUE
  1028. OR mode(match_type_id) = 2 THEN 'random'
  1029. ELSE mode(match_mode)
  1030. END match_mode,
  1031. --, max_max_prize_eligibility
  1032. --, mode(unique_users_per_solo_prize) unique_users_per_solo_prize
  1033. sum(match_making_found_time) as match_making_found_time,
  1034. sum(
  1035. case
  1036. when current_tournament_stage = 0
  1037. or current_tournament_stage is null then 1
  1038. end
  1039. ) as TOTAL_MATCHES_FOR_TOURNAMENT_CALC,
  1040. COUNT(*) AS total_matches,
  1041. SUM(
  1042. CASE
  1043. WHEN is_conceded = 0 THEN 1
  1044. ELSE 0
  1045. END
  1046. ) unconceded_matches,
  1047. COUNT(DISTINCT match_id) AS total_match_ids,
  1048. SUM(MATCH_DURATION_SEC) AS total_seconds_played_in_segment,
  1049. SUM(
  1050. CASE
  1051. WHEN is_conceded = 0 THEN MATCH_DURATION_SEC
  1052. ELSE 0
  1053. END
  1054. ) AS total_seconds_played_in_segment_unconceded,
  1055. SUM(ability_activated_cnt) AS total_booster_activations_in_segment,
  1056. SUM(
  1057. CASE
  1058. WHEN is_conceded = 0 THEN ability_activated_cnt
  1059. ELSE 0
  1060. END
  1061. ) AS total_booster_activations_in_segment_unconceded,
  1062. SUM(match_score) AS total_match_score_in_segment,
  1063. SUM(
  1064. CASE
  1065. WHEN is_conceded = 0 THEN match_score
  1066. ELSE 0
  1067. END
  1068. ) AS total_match_score_in_segment_unconceded,
  1069. SUM(
  1070. CASE
  1071. WHEN resource_sub_type = 'Legendary' THEN 1
  1072. END
  1073. ) AS games_with_legendary_boosters,
  1074. SUM(
  1075. CASE
  1076. WHEN resource_type = 'Booster'
  1077. AND resource_sub_type = 'Special Edition' THEN 1
  1078. END
  1079. ) AS games_with_SE_boosters,
  1080. SUM(
  1081. CASE
  1082. WHEN booster_tier = 'Diamond'
  1083. AND is_won = 0 THEN 1
  1084. END
  1085. ) AS diamond_losses,
  1086. SUM(
  1087. CASE
  1088. WHEN resource_sub_type = 'Diamond 3'
  1089. AND is_won = 0 THEN 1
  1090. END
  1091. ) AS diamond3_losses,
  1092. SUM(
  1093. CASE
  1094. WHEN resource_sub_type = 'Legendary'
  1095. AND is_won = 0 THEN 1
  1096. END
  1097. ) AS legendary_losses,
  1098. SUM(
  1099. CASE
  1100. WHEN resource_sub_type = 'Special Edition'
  1101. AND is_won = 0 THEN 1
  1102. END
  1103. ) AS SE_losses,
  1104. SUM(
  1105. CASE
  1106. WHEN is_won = 0 THEN 1
  1107. END
  1108. ) AS total_losses,
  1109. SUM(is_won) AS total_wins,
  1110. SUM(
  1111. CASE
  1112. WHEN resource_sub_type = 'Legendary'
  1113. THEN is_won
  1114. END
  1115. ) legendary_wins,
  1116. SUM(
  1117. CASE
  1118. WHEN resource_type = 'Booster'
  1119. AND resource_sub_type = 'Special Edition'
  1120. THEN is_won
  1121. END
  1122. ) SE_wins,
  1123. SUM(
  1124. CASE
  1125. WHEN resource_type = 'Booster'
  1126. and (
  1127. current_tournament_stage = 0
  1128. or current_tournament_stage is null
  1129. ) THEN Booster_value
  1130. END
  1131. ) AS total_coin_value,
  1132. SUM(is_on_fire_game) total_on_fire,
  1133. SUM(
  1134. CASE
  1135. WHEN match_type = 'Rumble' THEN (
  1136. (rumble_size - unique_users_in_match) / unique_users_in_match
  1137. )
  1138. ELSE is_rival_bot
  1139. END
  1140. ) total_bots,
  1141. SUM(board_ability1_uses + board_ability2_uses) AS total_perk_activations,
  1142. SUM(
  1143. CASE
  1144. WHEN is_conceded = 1
  1145. AND is_won = 0 THEN 1
  1146. ELSE 0
  1147. END
  1148. ) conceded_matches,
  1149. SUM(
  1150. case
  1151. when stakes_multiplier = 2 then 1
  1152. end
  1153. ) TWO_X_MATCHES,
  1154. SUM(
  1155. case
  1156. when stakes_multiplier = 3 then 1
  1157. end
  1158. ) THREE_X_MATCHES,
  1159. SUM(
  1160. case
  1161. when stakes_multiplier = 4 then 1
  1162. end
  1163. ) FOUR_X_MATCHES,
  1164. SUM(
  1165. case
  1166. when stakes_multiplier = 5 then 1
  1167. end
  1168. ) FIVE_X_MATCHES
  1169. FROM
  1170. (
  1171. SELECT
  1172. *,
  1173. MIN(derived_tstamp) OVER(partition BY calendar_entry_id) min_time,
  1174. MAX(derived_tstamp) OVER(partition BY calendar_entry_id) max_time,
  1175. COUNT(DISTINCT user_id) OVER(partition BY calendar_entry_id) unique_users --, COUNT(DISTINCT user_id) OVER(partition BY calendar_entry_id,max_max_prize_eligibility) unique_users_per_solo_prize
  1176. ,
  1177. COUNT(DISTINCT user_id) OVER(partition BY match_id) unique_users_in_match,
  1178. MIN(DATE(derived_tstamp)) OVER(partition BY calendar_entry_id) event_start_date,
  1179. MIN(date_trunc('hour', derived_tstamp)) OVER(partition BY calendar_entry_id) event_start_ts,
  1180. COUNT(
  1181. DISTINCT CASE
  1182. WHEN resource_sub_type = 'Legendary'
  1183. OR resource_sub_type = 'Special Edition' THEN user_id
  1184. END
  1185. ) OVER(partition BY calendar_entry_id) unique_users_with_LESE_boosters
  1186. FROM
  1187. (
  1188. SELECT
  1189. *,
  1190. MAX(max_prize_eligibility) OVER(partition BY calendar_entry_id, user_id) max_max_prize_eligibility
  1191. FROM
  1192. MATCH_MASTERS.PROD.F_USER_MATCH WHERE DATE(derived_tstamp) between DATEADD(day, -7, $FROM_T_MODES_CONTROL_UPDATED_DT_MNG) and $TO_T_MODES_CONTROL_UPDATED_DT_MNG
  1193. )
  1194. )
  1195. GROUP BY ALL ) Matches
  1196. ON Transactions.interval_date = Matches.interval_date and Transactions.user_id = Matches.user_id and nvl(Transactions.lo_entry_id,Transactions.match_type) = nvl(Matches.lo_entry_id,Matches.match_type)
  1197. LEFT JOIN
  1198. (SELECT
  1199. A.LO_ENTRY_ID,
  1200. B.lo_event_id,
  1201. A.interval_date,
  1202. A.lo_entry_name,
  1203. A.calendar_order,
  1204. A.lo_visible_on_homescreen,
  1205. nvl(min0,min1) lo_event_min_trophies,
  1206. nvl(max0,max1) lo_event_max_trophies,
  1207. hours,
  1208. lo_entry_tickets_required,
  1209. lo_entry_min_booster_rarity,
  1210. lo_entry_max_booster_rarity,
  1211. lo_event_solo_moves_per_turn,
  1212. lo_event_badge,
  1213. lo_event_turn_amt,
  1214. lo_event_turn_duration_sec,
  1215. lo_entry_is_private,
  1216. lo_event_wins_limit,
  1217. LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  1218. lo_is_friendly,
  1219. lo_entry_trophy_mode,
  1220. lo_entry_trophy_gain,
  1221. lo_entry_trophy_loss,
  1222. B.lo_event_max_lives
  1223. FROM
  1224. (
  1225. (
  1226. SELECT
  1227. nvl(LO_ENTRY_ID,lo_original_entry_id) LO_ENTRY_ID,
  1228. DATE(derived_tstamp) interval_date,
  1229. LO_ENTRY_NAME,
  1230. calendar_order,
  1231. lo_visible_on_homescreen,
  1232. lo_entry_min_trophies min0,
  1233. lo_entry_max_trophies max0,
  1234. round(
  1235. (lo_entry_end_ts - lo_entry_start_ts) / 60 / 60,
  1236. 0
  1237. ) hours,
  1238. lo_entry_tickets_required,
  1239. lo_entry_min_booster_rarity,
  1240. lo_entry_max_booster_rarity,
  1241. lo_entry_is_private,
  1242. lo_entry_trophy_mode,
  1243. lo_entry_trophy_gain,
  1244. lo_entry_trophy_loss,
  1245. LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE
  1246. FROM
  1247. (
  1248. SELECT
  1249. *
  1250. ,ifnull(LO_ENTRY_UPDATE_TS,LO_ENTRY_TS) lo_entry_ts2
  1251. FROM
  1252. MATCH_MASTERS.PROD.F_LIVEOPS_CALENDAR
  1253. qualify ROW_NUMBER() OVER (
  1254. partition BY lo_entry_id
  1255. ORDER BY
  1256. lo_entry_ts2 DESC
  1257. ) = 1
  1258. )
  1259. ) A
  1260. LEFT JOIN (
  1261. SELECT
  1262. DATE(derived_tstamp) interval_date,
  1263. lo_event_id,
  1264. lo_event_min_trophies min1,
  1265. lo_event_max_trophies max1,
  1266. lo_event_solo_moves_per_turn,
  1267. lo_event_turn_amt,
  1268. lo_event_turn_duration_sec,
  1269. lo_event_wins_limit,
  1270. lo_is_friendly,
  1271. lo_event_badge,
  1272. lo_event_max_lives
  1273. FROM
  1274. MATCH_MASTERS.PROD.DIM_EVENT_CONFIG
  1275. qualify ROW_NUMBER() OVER (
  1276. partition BY LO_EVENT_ID
  1277. ORDER BY
  1278. derived_tstamp DESC
  1279. ) = 1
  1280. ) B ON A.LO_ENTRY_NAME = B.LO_EVENT_ID
  1281. ) QUALIFY ROW_NUMBER() OVER (
  1282. PARTITION by A.LO_ENTRY_ID
  1283. ORDER BY
  1284. A.interval_date desc
  1285. ) = 1
  1286. ) Event_Dim
  1287. ON coalesce(Transactions.lo_entry_id,Matches.lo_entry_id) = Event_Dim.lo_entry_id
  1288. LEFT JOIN
  1289. ( SELECT
  1290. source_calendar_entry_id,
  1291. DATE(derived_tstamp) AS interval_date,
  1292. user_id,
  1293. nvl(mode(segment),'No-Segment') segment,
  1294. SUM(points_earned) points_earned,
  1295. SUM(points_earned * event_point_value) value_earned
  1296. FROM
  1297. MATCH_MASTERS.PROD.F_LIVE_EVENT_PROGRESSION
  1298. WHERE
  1299. action = 'points_earned'
  1300. AND DATE(derived_tstamp) between DATEADD(day, -7, $FROM_T_MODES_CONTROL_UPDATED_DT_MNG) and $TO_T_MODES_CONTROL_UPDATED_DT_MNG
  1301. GROUP BY all ) Lo_points
  1302. ON COALESCE(Transactions.interval_date,Matches.interval_date) = Lo_points.interval_date and COALESCE(Transactions.user_id,Matches.user_id) = Lo_points.user_id and coalesce(Transactions.lo_entry_id,Matches.lo_entry_id) = Lo_points.source_calendar_entry_id
  1303. LEFT JOIN
  1304. (select interval_date,user_id,payers_segment from MATCH_MASTERS.prod.daily_users_from_params where interval_date between DATEADD(day, -7, $FROM_T_MODES_CONTROL_UPDATED_DT_MNG) and $TO_T_MODES_CONTROL_UPDATED_DT_MNG
  1305. ) Daily_Segments
  1306. ON COALESCE(Transactions.user_id,Matches.user_id) = Daily_Segments.user_id and COALESCE(Transactions.interval_date,Matches.interval_date) = Daily_Segments.interval_date
  1307. )
  1308. WHERE 1 = 1
  1309. AND interval_date is not null
  1310. AND interval_date between DATEADD(day, -3, $FROM_T_MODES_CONTROL_UPDATED_DT_MNG) and $TO_T_MODES_CONTROL_UPDATED_DT_MNG
  1311. GROUP BY ALL;
  1312.  
  1313. ''',
  1314. '05_set_merge_error_helper': '''
  1315. ALTER SESSION SET ERROR_ON_NONDETERMINISTIC_MERGE = false;
  1316. ''',
  1317. '06_merge_temp_to_prod': '''
  1318. MERGE INTO MATCH_MASTERS.SEMANTIC_LAYER.T_MODES_CONTROL AS t
  1319. USING MATCH_MASTERS.TRANSFORMATION.TRANS_MODES_CONTROL AS S
  1320. ON s.INTERVAL_DATE = t.INTERVAL_DATE
  1321. AND (s.ARENA_GROUP = t.ARENA_GROUP OR (s.ARENA_GROUP IS NULL AND t.ARENA_GROUP IS NULL ) )
  1322. AND (s.TROPHY_GROUP = t.TROPHY_GROUP OR (s.TROPHY_GROUP IS NULL AND t.TROPHY_GROUP IS NULL) )
  1323. AND (s.LTV_GROUP = t.LTV_GROUP OR (s.LTV_GROUP IS NULL AND t.LTV_GROUP IS NULL) )
  1324. AND (s.payers_segment = t.payers_segment OR (s.payers_segment IS NULL AND t.payers_segment IS NULL) )
  1325. AND (s.LO_ENTRY_ID = t.LO_ENTRY_ID OR (s.LO_ENTRY_ID IS NULL AND t.LO_ENTRY_ID IS NULL) )
  1326. AND (s.MATCH_TYPE = t.MATCH_TYPE OR (s.MATCH_TYPE IS NULL AND t.MATCH_TYPE IS NULL) )
  1327. AND (s.SEGMENT = t.SEGMENT OR (s.SEGMENT IS NULL AND t.SEGMENT IS NULL) )
  1328. AND (s.user_segment = t.user_segment OR (s.user_segment IS NULL AND t.user_segment IS NULL) )
  1329. AND t.interval_date > dateadd(week,-1,$FROM_T_MODES_CONTROL_UPDATED_DT_MNG)
  1330. WHEN MATCHED THEN UPDATE SET
  1331. t.segment = s.segment,
  1332. t.user_segment = s.user_segment,
  1333. t.payers_segment = s.payers_segment,
  1334. t.interval_date = s.interval_date,
  1335. t.lo_entry_id = s.lo_entry_id,
  1336. t.match_type = s.match_type,
  1337. t.LTV_group = s.LTV_group,
  1338. t.trophy_group = s.trophy_group,
  1339. t.arena_group = s.arena_group,
  1340. t.match_type_id = s.match_type_id,
  1341. t.match_mode = s.match_mode,
  1342. t.modifier_1 = s.modifier_1,
  1343. t.modifier_2 = s.modifier_2,
  1344. t.match_modifier_3 = s.match_modifier_3,
  1345. t.is_random_mixer = s.is_random_mixer,
  1346. t.rounds_cnt = s.rounds_cnt,
  1347. t.event_start_date = s.event_start_date,
  1348. t.min_time = s.min_time,
  1349. t.max_time = s.max_time,
  1350. t.unique_users_with_LESE_boosters = s.unique_users_with_LESE_boosters,
  1351. t.rumble_size = s.rumble_size,
  1352. t.tournament_size = s.tournament_size,
  1353. t.lo_event_id = s.lo_event_id,
  1354. t.lo_event_min_trophies = s.lo_event_min_trophies,
  1355. t.lo_event_max_trophies = s.lo_event_max_trophies,
  1356. t.calendar_order = s.calendar_order,
  1357. t.hours = s.hours,
  1358. t.lo_entry_tickets_required = s.lo_entry_tickets_required,
  1359. t.lo_visible_on_homescreen = s.lo_visible_on_homescreen,
  1360. t.lo_entry_min_booster_rarity = s.lo_entry_min_booster_rarity,
  1361. t.lo_entry_max_booster_rarity = s.lo_entry_max_booster_rarity,
  1362. t.lo_event_solo_moves_per_turn = s.lo_event_solo_moves_per_turn,
  1363. t.elimination_round = s.elimination_round,
  1364. t.lo_event_turn_duration_sec = s.lo_event_turn_duration_sec,
  1365. t.lo_entry_is_private = s.lo_entry_is_private,
  1366. t.LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE = s.LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  1367. t.lo_event_wins_limit = s.lo_event_wins_limit,
  1368. t.lo_is_friendly = s.lo_is_friendly,
  1369. t.lo_event_max_lives = s.lo_event_max_lives,
  1370. t.lo_event_badge = s.lo_event_badge,
  1371. t.lo_entry_trophy_mode = s.lo_entry_trophy_mode,
  1372. t.lo_entry_trophy_gain = s.lo_entry_trophy_gain,
  1373. t.lo_entry_trophy_loss = s.lo_entry_trophy_loss,
  1374. t.unique_users_in_event_and_segment = s.unique_users_in_event_and_segment,
  1375. t.legendary_boosters_spent = s.legendary_boosters_spent,
  1376. t.se_boosters_spent = s.se_boosters_spent,
  1377. t.DIAMOND1_BOOSTERS_SPENT = s.DIAMOND1_BOOSTERS_SPENT,
  1378. t.DIAMOND2_BOOSTERS_SPENT = s.DIAMOND2_BOOSTERS_SPENT,
  1379. t.DIAMOND3_BOOSTERS_SPENT = s.DIAMOND3_BOOSTERS_SPENT,
  1380. t.GOLD_BOOSTERS_SPENT = s.GOLD_BOOSTERS_SPENT,
  1381. t.SILVER_BOOSTERS_SPENT = s.SILVER_BOOSTERS_SPENT,
  1382. t.BRONZE_BOOSTERS_SPENT = s.BRONZE_BOOSTERS_SPENT,
  1383. t.LEGENDARY_BOOSTERS_EARNED = s.LEGENDARY_BOOSTERS_EARNED,
  1384. t.SE_BOOSTERS_EARNED = s.SE_BOOSTERS_EARNED,
  1385. t.DIAMOND1_BOOSTERS_EARNED = s.DIAMOND1_BOOSTERS_EARNED,
  1386. t.DIAMOND2_BOOSTERS_EARNED = s.DIAMOND2_BOOSTERS_EARNED,
  1387. t.DIAMOND3_BOOSTERS_EARNED = s.DIAMOND3_BOOSTERS_EARNED,
  1388. t.GOLD_BOOSTERS_EARNED = s.GOLD_BOOSTERS_EARNED,
  1389. t.SILVER_BOOSTERS_EARNED = s.SILVER_BOOSTERS_EARNED,
  1390. t.BRONZE_BOOSTERS_EARNED = s.BRONZE_BOOSTERS_EARNED,
  1391. t.SHIELDS_EARNED = s.SHIELDS_EARNED,
  1392. t.SHIELDS_SPENT = s.SHIELDS_SPENT,
  1393. t.PERKS_EARNED = s.PERKS_EARNED,
  1394. t.PERKS_SPENT = s.PERKS_SPENT,
  1395. t.TICKETS_EARNED = s.TICKETS_EARNED,
  1396. t.TICKETS_SPENT = s.TICKETS_SPENT,
  1397. t.TROPHY_EARNED = s.TROPHY_EARNED,
  1398. t.TROPHY_SPENT = s.TROPHY_SPENT,
  1399. t.COINS_EARNED = s.COINS_EARNED,
  1400. t.COINS_SPENT = s.COINS_SPENT,
  1401. t.STICKERSEASONAL_EARNED = s.STICKERSEASONAL_EARNED,
  1402. t.STICKERSILVER_EARNED = s.STICKERSILVER_EARNED,
  1403. t.STICKERWHITE_EARNED = s.STICKERWHITE_EARNED,
  1404. t.SPIN_EARNED = s.SPIN_EARNED,
  1405. t.SUPERSPIN_EARNED = s.SUPERSPIN_EARNED,
  1406. t.STICKERADVENTURE_EARNED = s.STICKERADVENTURE_EARNED,
  1407. t.STICKERDIAMOND_EARNED = s.STICKERDIAMOND_EARNED,
  1408. t.STICKERGOLD_EARNED = s.STICKERGOLD_EARNED,
  1409. t.STICKERTOKEN_EARNED = s.STICKERTOKEN_EARNED,
  1410. t.stickerseasonal_earned_duplicate = s.stickerseasonal_earned_duplicate,
  1411. t.stickersilver_earned_duplicate = s.stickersilver_earned_duplicate,
  1412. t.stickerwhite_earned_duplicate = s.stickerwhite_earned_duplicate,
  1413. t.stickeradventure_earned_duplicate = s.stickeradventure_earned_duplicate,
  1414. t.stickerdiamond_earned_duplicate = s.stickerdiamond_earned_duplicate,
  1415. t.stickergold_earned_duplicate = s.stickergold_earned_duplicate,
  1416. t.SUPERSPIN_EARNED_VALUE = s.SUPERSPIN_EARNED_VALUE,
  1417. t.STICKERADVENTURE_EARNED_VALUE = s.STICKERADVENTURE_EARNED_VALUE,
  1418. t.STICKERDIAMOND_EARNED_VALUE = s.STICKERDIAMOND_EARNED_VALUE,
  1419. t.STICKERGOLD_EARNED_VALUE = s.STICKERGOLD_EARNED_VALUE,
  1420. t.STICKERTOKEN_EARNED_VALUE = s.STICKERTOKEN_EARNED_VALUE,
  1421. t.LEGENDARY_BOOSTERS_SPENT_VALUE = s.LEGENDARY_BOOSTERS_SPENT_VALUE,
  1422. t.SE_BOOSTERS_SPENT_VALUE = s.SE_BOOSTERS_SPENT_VALUE,
  1423. t.DIAMOND1_BOOSTERS_SPENT_VALUE = s.DIAMOND1_BOOSTERS_SPENT_VALUE,
  1424. t.DIAMOND2_BOOSTERS_SPENT_VALUE = s.DIAMOND2_BOOSTERS_SPENT_VALUE,
  1425. t.DIAMOND3_BOOSTERS_SPENT_VALUE = s.DIAMOND3_BOOSTERS_SPENT_VALUE,
  1426. t.GOLD_BOOSTERS_SPENT_VALUE = s.GOLD_BOOSTERS_SPENT_VALUE,
  1427. t.SILVER_BOOSTERS_SPENT_VALUE = s.SILVER_BOOSTERS_SPENT_VALUE,
  1428. t.BRONZE_BOOSTERS_SPENT_VALUE = s.BRONZE_BOOSTERS_SPENT_VALUE,
  1429. t.LEGENDARY_BOOSTERS_EARNED_VALUE = s.LEGENDARY_BOOSTERS_EARNED_VALUE,
  1430. t.SE_BOOSTERS_EARNED_VALUE = s.SE_BOOSTERS_EARNED_VALUE,
  1431. t.DIAMOND1_BOOSTERS_EARNED_VALUE = s.DIAMOND1_BOOSTERS_EARNED_VALUE,
  1432. t.DIAMOND2_BOOSTERS_EARNED_VALUE = s.DIAMOND2_BOOSTERS_EARNED_VALUE,
  1433. t.DIAMOND3_BOOSTERS_EARNED_VALUE = s.DIAMOND3_BOOSTERS_EARNED_VALUE,
  1434. t.GOLD_BOOSTERS_EARNED_VALUE = s.GOLD_BOOSTERS_EARNED_VALUE,
  1435. t.SILVER_BOOSTERS_EARNED_VALUE = s.SILVER_BOOSTERS_EARNED_VALUE,
  1436. t.BRONZE_BOOSTERS_EARNED_VALUE = s.BRONZE_BOOSTERS_EARNED_VALUE,
  1437. t.SHIELDS_EARNED_VALUE = s.SHIELDS_EARNED_VALUE,
  1438. t.SHIELDS_SPENT_VALUE = s.SHIELDS_SPENT_VALUE,
  1439. t.PERKS_EARNED_VALUE = s.PERKS_EARNED_VALUE,
  1440. t.PERKS_SPENT_VALUE = s.PERKS_SPENT_VALUE,
  1441. t.TICKETS_EARNED_VALUE = s.TICKETS_EARNED_VALUE,
  1442. t.TICKETS_SPENT_VALUE = s.TICKETS_SPENT_VALUE,
  1443. t.TROPHY_EARNED_VALUE = s.TROPHY_EARNED_VALUE,
  1444. t.TROPHY_SPENT_VALUE = s.TROPHY_SPENT_VALUE,
  1445. t.STICKERSEASONAL_EARNED_VALUE = s.STICKERSEASONAL_EARNED_VALUE,
  1446. t.STICKERSILVER_EARNED_VALUE = s.STICKERSILVER_EARNED_VALUE,
  1447. t.STICKERWHITE_EARNED_VALUE = s.STICKERWHITE_EARNED_VALUE,
  1448. t.SPIN_EARNED_VALUE = s.SPIN_EARNED_VALUE,
  1449. t.mini_game_tokens_earned_value = s.mini_game_tokens_earned_value,
  1450. t.mini_game_tokens_earned = s.mini_game_tokens_earned,
  1451. t.total_matches = s.total_matches,
  1452. t.total_seconds_played_in_segment = s.total_seconds_played_in_segment,
  1453. t.total_booster_activations_in_segment = s.total_booster_activations_in_segment,
  1454. t.total_match_score_in_segment = s.total_match_score_in_segment,
  1455. t.games_with_legendary_boosters = s.games_with_legendary_boosters,
  1456. t.games_with_SE_boosters = s.games_with_SE_boosters,
  1457. t.diamond_losses = s.diamond_losses,
  1458. t.diamond3_losses = s.diamond3_losses,
  1459. t.legendary_losses = s.legendary_losses,
  1460. t.SE_losses = s.SE_losses,
  1461. t.total_losses = s.total_losses,
  1462. t.total_wins = s.total_wins,
  1463. t.legendary_wins = s.legendary_wins,
  1464. t.SE_wins = s.SE_wins,
  1465. t.total_coin_value = s.total_coin_value,
  1466. t.total_match_ids = s.total_match_ids,
  1467. t.total_bots = s.total_bots,
  1468. t.total_on_fire = s.total_on_fire,
  1469. t.conceded_matches = s.conceded_matches,
  1470. t.total_perk_activations = s.total_perk_activations,
  1471. t.Match_making_found_time = s.Match_making_found_time,
  1472. t.total_matches_for_tournament_calc = s.total_matches_for_tournament_calc,
  1473. t.TWO_X_MATCHES = s.TWO_X_MATCHES,
  1474. t.THREE_X_MATCHES = s.THREE_X_MATCHES,
  1475. t.FOUR_X_MATCHES = s.FOUR_X_MATCHES,
  1476. t.FIVE_X_MATCHES = s.FIVE_X_MATCHES,
  1477. t.LE_points_earned = s.LE_points_earned,
  1478. t.LE_value_earned = s.LE_value_earned,
  1479. t.LAST_UPDATED_DT = s.LAST_UPDATED_DT,
  1480. t.DW_INSERT_DT = s.DW_INSERT_DT
  1481.  
  1482. WHEN NOT MATCHED THEN INSERT (
  1483. segment,
  1484. user_segment,
  1485. payers_segment,
  1486. interval_date,
  1487. lo_entry_id,
  1488. match_type,
  1489. LTV_group,
  1490. trophy_group,
  1491. arena_group,
  1492. match_type_id,
  1493. match_mode,
  1494. modifier_1,
  1495. modifier_2,
  1496. match_modifier_3,
  1497. is_random_mixer,
  1498. rounds_cnt,
  1499. event_start_date,
  1500. min_time,
  1501. max_time,
  1502. unique_users_with_LESE_boosters,
  1503. rumble_size,
  1504. tournament_size,
  1505. lo_event_id,
  1506. lo_event_min_trophies,
  1507. lo_event_max_trophies,
  1508. calendar_order,
  1509. hours,
  1510. lo_entry_tickets_required,
  1511. lo_visible_on_homescreen,
  1512. lo_entry_min_booster_rarity,
  1513. lo_entry_max_booster_rarity,
  1514. lo_event_solo_moves_per_turn,
  1515. elimination_round,
  1516. lo_event_turn_duration_sec,
  1517. lo_entry_is_private,
  1518. LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  1519. lo_event_wins_limit,
  1520. lo_is_friendly,
  1521. lo_event_max_lives,
  1522. lo_event_badge,
  1523. lo_entry_trophy_mode,
  1524. lo_entry_trophy_gain,
  1525. lo_entry_trophy_loss,
  1526. unique_users_in_event_and_segment,
  1527. legendary_boosters_spent,
  1528. se_boosters_spent,
  1529. DIAMOND1_BOOSTERS_SPENT,
  1530. DIAMOND2_BOOSTERS_SPENT,
  1531. DIAMOND3_BOOSTERS_SPENT,
  1532. GOLD_BOOSTERS_SPENT,
  1533. SILVER_BOOSTERS_SPENT,
  1534. BRONZE_BOOSTERS_SPENT,
  1535. LEGENDARY_BOOSTERS_EARNED,
  1536. SE_BOOSTERS_EARNED,
  1537. DIAMOND1_BOOSTERS_EARNED,
  1538. DIAMOND2_BOOSTERS_EARNED,
  1539. DIAMOND3_BOOSTERS_EARNED,
  1540. GOLD_BOOSTERS_EARNED,
  1541. SILVER_BOOSTERS_EARNED,
  1542. BRONZE_BOOSTERS_EARNED,
  1543. SHIELDS_EARNED,
  1544. SHIELDS_SPENT,
  1545. PERKS_EARNED,
  1546. PERKS_SPENT,
  1547. TICKETS_EARNED,
  1548. TICKETS_SPENT,
  1549. TROPHY_EARNED,
  1550. TROPHY_SPENT,
  1551. COINS_EARNED,
  1552. COINS_SPENT,
  1553. STICKERSEASONAL_EARNED,
  1554. STICKERSILVER_EARNED,
  1555. STICKERWHITE_EARNED,
  1556. SPIN_EARNED,
  1557. SUPERSPIN_EARNED,
  1558. STICKERADVENTURE_EARNED,
  1559. STICKERDIAMOND_EARNED,
  1560. STICKERGOLD_EARNED,
  1561. STICKERTOKEN_EARNED,
  1562. stickerseasonal_earned_duplicate,
  1563. stickersilver_earned_duplicate,
  1564. stickerwhite_earned_duplicate,
  1565. stickeradventure_earned_duplicate,
  1566. stickerdiamond_earned_duplicate,
  1567. stickergold_earned_duplicate,
  1568. SUPERSPIN_EARNED_VALUE,
  1569. STICKERADVENTURE_EARNED_VALUE,
  1570. STICKERDIAMOND_EARNED_VALUE,
  1571. STICKERGOLD_EARNED_VALUE,
  1572. STICKERTOKEN_EARNED_VALUE,
  1573. LEGENDARY_BOOSTERS_SPENT_VALUE,
  1574. SE_BOOSTERS_SPENT_VALUE,
  1575. DIAMOND1_BOOSTERS_SPENT_VALUE,
  1576. DIAMOND2_BOOSTERS_SPENT_VALUE,
  1577. DIAMOND3_BOOSTERS_SPENT_VALUE,
  1578. GOLD_BOOSTERS_SPENT_VALUE,
  1579. SILVER_BOOSTERS_SPENT_VALUE,
  1580. BRONZE_BOOSTERS_SPENT_VALUE,
  1581. LEGENDARY_BOOSTERS_EARNED_VALUE,
  1582. SE_BOOSTERS_EARNED_VALUE,
  1583. DIAMOND1_BOOSTERS_EARNED_VALUE,
  1584. DIAMOND2_BOOSTERS_EARNED_VALUE,
  1585. DIAMOND3_BOOSTERS_EARNED_VALUE,
  1586. GOLD_BOOSTERS_EARNED_VALUE,
  1587. SILVER_BOOSTERS_EARNED_VALUE,
  1588. BRONZE_BOOSTERS_EARNED_VALUE,
  1589. SHIELDS_EARNED_VALUE,
  1590. SHIELDS_SPENT_VALUE,
  1591. PERKS_EARNED_VALUE,
  1592. PERKS_SPENT_VALUE,
  1593. TICKETS_EARNED_VALUE,
  1594. TICKETS_SPENT_VALUE,
  1595. TROPHY_EARNED_VALUE,
  1596. TROPHY_SPENT_VALUE,
  1597. STICKERSEASONAL_EARNED_VALUE,
  1598. STICKERSILVER_EARNED_VALUE,
  1599. STICKERWHITE_EARNED_VALUE,
  1600. SPIN_EARNED_VALUE,
  1601. mini_game_tokens_earned_value,
  1602. mini_game_tokens_earned,
  1603. total_matches,
  1604. total_seconds_played_in_segment,
  1605. total_booster_activations_in_segment,
  1606. total_match_score_in_segment,
  1607. games_with_legendary_boosters,
  1608. games_with_SE_boosters,
  1609. diamond_losses,
  1610. diamond3_losses,
  1611. legendary_losses,
  1612. SE_losses,
  1613. total_losses,
  1614. total_wins,
  1615. legendary_wins,
  1616. SE_wins,
  1617. total_coin_value,
  1618. total_match_ids,
  1619. total_bots,
  1620. total_on_fire,
  1621. conceded_matches,
  1622. total_perk_activations,
  1623. Match_making_found_time,
  1624. total_matches_for_tournament_calc,
  1625. TWO_X_MATCHES,
  1626. THREE_X_MATCHES,
  1627. FOUR_X_MATCHES,
  1628. FIVE_X_MATCHES,
  1629. LE_points_earned,
  1630. LE_value_earned,
  1631. LAST_UPDATED_DT,
  1632. DW_INSERT_DT
  1633. )
  1634. VALUES (
  1635. s.segment,
  1636. s.user_segment,
  1637. s.payers_segment,
  1638. s.interval_date,
  1639. s.lo_entry_id,
  1640. s.match_type,
  1641. s.LTV_group,
  1642. s.trophy_group,
  1643. s.arena_group,
  1644. s.match_type_id,
  1645. s.match_mode,
  1646. s.modifier_1,
  1647. s.modifier_2,
  1648. s.match_modifier_3,
  1649. s.is_random_mixer,
  1650. s.rounds_cnt,
  1651. s.event_start_date,
  1652. s.min_time,
  1653. s.max_time,
  1654. s.unique_users_with_LESE_boosters,
  1655. s.rumble_size,
  1656. s.tournament_size,
  1657. s.lo_event_id,
  1658. s.lo_event_min_trophies,
  1659. s.lo_event_max_trophies,
  1660. s.calendar_order,
  1661. s.hours,
  1662. s.lo_entry_tickets_required,
  1663. s.lo_visible_on_homescreen,
  1664. s.lo_entry_min_booster_rarity,
  1665. s.lo_entry_max_booster_rarity,
  1666. s.lo_event_solo_moves_per_turn,
  1667. s.elimination_round,
  1668. s.lo_event_turn_duration_sec,
  1669. s.lo_entry_is_private,
  1670. s.LO_ENTRY_IS_PREMIUM_PASS_EXCLUSIVE,
  1671. s.lo_event_wins_limit,
  1672. s.lo_is_friendly,
  1673. s.lo_event_max_lives,
  1674. s.lo_event_badge,
  1675. s.lo_entry_trophy_mode,
  1676. s.lo_entry_trophy_gain,
  1677. s.lo_entry_trophy_loss,
  1678. s.unique_users_in_event_and_segment,
  1679. s.legendary_boosters_spent,
  1680. s.se_boosters_spent,
  1681. s.DIAMOND1_BOOSTERS_SPENT,
  1682. s.DIAMOND2_BOOSTERS_SPENT,
  1683. s.DIAMOND3_BOOSTERS_SPENT,
  1684. s.GOLD_BOOSTERS_SPENT,
  1685. s.SILVER_BOOSTERS_SPENT,
  1686. s.BRONZE_BOOSTERS_SPENT,
  1687. s.LEGENDARY_BOOSTERS_EARNED,
  1688. s.SE_BOOSTERS_EARNED,
  1689. s.DIAMOND1_BOOSTERS_EARNED,
  1690. s.DIAMOND2_BOOSTERS_EARNED,
  1691. s.DIAMOND3_BOOSTERS_EARNED,
  1692. s.GOLD_BOOSTERS_EARNED,
  1693. s.SILVER_BOOSTERS_EARNED,
  1694. s.BRONZE_BOOSTERS_EARNED,
  1695. s.SHIELDS_EARNED,
  1696. s.SHIELDS_SPENT,
  1697. s.PERKS_EARNED,
  1698. s.PERKS_SPENT,
  1699. s.TICKETS_EARNED,
  1700. s.TICKETS_SPENT,
  1701. s.TROPHY_EARNED,
  1702. s.TROPHY_SPENT,
  1703. s.COINS_EARNED,
  1704. s.COINS_SPENT,
  1705. s.STICKERSEASONAL_EARNED,
  1706. s.STICKERSILVER_EARNED,
  1707. s.STICKERWHITE_EARNED,
  1708. s.SPIN_EARNED,
  1709. s.SUPERSPIN_EARNED,
  1710. s.STICKERADVENTURE_EARNED,
  1711. s.STICKERDIAMOND_EARNED,
  1712. s.STICKERGOLD_EARNED,
  1713. s.STICKERTOKEN_EARNED,
  1714. s.stickerseasonal_earned_duplicate,
  1715. s.stickersilver_earned_duplicate,
  1716. s.stickerwhite_earned_duplicate,
  1717. s.stickeradventure_earned_duplicate,
  1718. s.stickerdiamond_earned_duplicate,
  1719. s.stickergold_earned_duplicate,
  1720. s.SUPERSPIN_EARNED_VALUE,
  1721. s.STICKERADVENTURE_EARNED_VALUE,
  1722. s.STICKERDIAMOND_EARNED_VALUE,
  1723. s.STICKERGOLD_EARNED_VALUE,
  1724. s.STICKERTOKEN_EARNED_VALUE,
  1725. s.LEGENDARY_BOOSTERS_SPENT_VALUE,
  1726. s.SE_BOOSTERS_SPENT_VALUE,
  1727. s.DIAMOND1_BOOSTERS_SPENT_VALUE,
  1728. s.DIAMOND2_BOOSTERS_SPENT_VALUE,
  1729. s.DIAMOND3_BOOSTERS_SPENT_VALUE,
  1730. s.GOLD_BOOSTERS_SPENT_VALUE,
  1731. s.SILVER_BOOSTERS_SPENT_VALUE,
  1732. s.BRONZE_BOOSTERS_SPENT_VALUE,
  1733. s.LEGENDARY_BOOSTERS_EARNED_VALUE,
  1734. s.SE_BOOSTERS_EARNED_VALUE,
  1735. s.DIAMOND1_BOOSTERS_EARNED_VALUE,
  1736. s.DIAMOND2_BOOSTERS_EARNED_VALUE,
  1737. s.DIAMOND3_BOOSTERS_EARNED_VALUE,
  1738. s.GOLD_BOOSTERS_EARNED_VALUE,
  1739. s.SILVER_BOOSTERS_EARNED_VALUE,
  1740. s.BRONZE_BOOSTERS_EARNED_VALUE,
  1741. s.SHIELDS_EARNED_VALUE,
  1742. s.SHIELDS_SPENT_VALUE,
  1743. s.PERKS_EARNED_VALUE,
  1744. s.PERKS_SPENT_VALUE,
  1745. s.TICKETS_EARNED_VALUE,
  1746. s.TICKETS_SPENT_VALUE,
  1747. s.TROPHY_EARNED_VALUE,
  1748. s.TROPHY_SPENT_VALUE,
  1749. s.STICKERSEASONAL_EARNED_VALUE,
  1750. s.STICKERSILVER_EARNED_VALUE,
  1751. s.STICKERWHITE_EARNED_VALUE,
  1752. s.SPIN_EARNED_VALUE,
  1753. s.mini_game_tokens_earned_value,
  1754. s.mini_game_tokens_earned,
  1755. s.total_matches,
  1756. s.total_seconds_played_in_segment,
  1757. s.total_booster_activations_in_segment,
  1758. s.total_match_score_in_segment,
  1759. s.games_with_legendary_boosters,
  1760. s.games_with_SE_boosters,
  1761. s.diamond_losses,
  1762. s.diamond3_losses,
  1763. s.legendary_losses,
  1764. s.SE_losses,
  1765. s.total_losses,
  1766. s.total_wins,
  1767. s.legendary_wins,
  1768. s.SE_wins,
  1769. s.total_coin_value,
  1770. s.total_match_ids,
  1771. s.total_bots,
  1772. s.total_on_fire,
  1773. s.conceded_matches,
  1774. s.total_perk_activations,
  1775. s.Match_making_found_time,
  1776. s.total_matches_for_tournament_calc,
  1777. s.TWO_X_MATCHES,
  1778. s.THREE_X_MATCHES,
  1779. s.FOUR_X_MATCHES,
  1780. s.FIVE_X_MATCHES,
  1781. s.LE_points_earned,
  1782. s.LE_value_earned,
  1783. s.LAST_UPDATED_DT,
  1784. s.DW_INSERT_DT
  1785. )
  1786. ;
  1787. ''',
  1788. '07_update_mng_table': '''
  1789. INSERT INTO MATCH_MASTERS.MANAGE.MANAGEMENT_TABLE(
  1790. TABLE_NAME
  1791. ,DW_INSERT_DATE
  1792. ,LAST_LOAD_DATE
  1793. ,ROWS_LOADED
  1794. ) VALUES (
  1795. 'CANDIVORE.SEMANTIC_LAYER.T_MODES_CONTROL'
  1796. ,current_timestamp()
  1797. ,(select max(LAST_UPDATED_DT) from MATCH_MASTERS.TRANSFORMATION.TRANS_MODES_CONTROL)
  1798. ,(select count(*) from MATCH_MASTERS.TRANSFORMATION.TRANS_MODES_CONTROL)
  1799. )
  1800. '''
  1801. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement