Advertisement
YuvalGai

Untitled

Jun 20th, 2023 (edited)
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. create or replace view SNOWPLOW.DERIVED."v_INTERVAL_SESSION_INVENTORY_TYPE"(
  2. USER_ID,
  3. INTERVAL_DATE_TIME,
  4. LAST_SESSION_ID,
  5. RESOURCE_TYPE,
  6. RESOURCE_TYPE_ID,
  7. RESOURCE_STATUS,
  8. LTV_GROUP,
  9. LTV_Group_30D,
  10. SENIORITY_BIN,
  11. ENGAGEMENT_GROUP,
  12. ARENA_GROUP,
  13. payers_segment,
  14. TROPHY_GROUP,
  15. trophy_group_2,
  16. START_SESSION_RESOURCE_COUNT
  17. ) as
  18.  
  19.  
  20. select user_id
  21. , interval_date_time
  22. , last_session_id
  23. , Resource_Type
  24. -- , case when Resource_Type = 'OnFire' then Resource_Name_Id else Resource_Type end as Resource_Type
  25. , Resource_Type_Id
  26. -- , Resource_Sub_Type
  27. -- , Resource_Sub_Type_Id
  28. -- , Booster_Tier_Group
  29. -- , Booster_Tier_Group_Id
  30. , Resource_Status
  31. , LTV_Group
  32. ,Seniority_Bin
  33. ,Engagement_Group
  34. ,Arena_Group
  35. ,payers_segment
  36. ,Trophy_Group
  37. ,trophy_group_2
  38. ,LTV_Group_30D
  39. ,sum(case when Resource_Name_Id = 'OnFireTime' then Start_Session_Resource_Count/3600 else Start_Session_Resource_Count end) as Start_Session_Resource_Count
  40. from (select
  41. I.User_Id
  42. ,S.Interval_Date_Time
  43. ,S.Last_Session_Id
  44. ,IFNULL(R.Resource_Type_Id,-1) as Resource_Type_Id
  45. ,IFNULL(R.Resource_Type,'None') as Resource_Type
  46. -- ,IFNULL(case when I.Resource_Name = 'AlbumPage' then 'AlbumPage'
  47. -- when R.Resource_Type = 'Sticker' then concat(I.Resource_Status,R.Resource_Type)
  48. -- when R.Resource_Type = 'OnFire' then I.Resource_Name
  49. -- when R.Resource_Type = 'Ticket' then I.Resource_Name
  50. -- else R.Resource_Type end,'None') as Resource_Type
  51. -- ,IFNULL(R.Resource_Sub_Type_Id,-1) as Resource_Sub_Type_Id
  52. -- ,IFNULL(R.Resource_Sub_Type,'None') as Resource_Sub_Type
  53. -- ,IFNULL(R.Resource_Id,-1) as Resource_Id
  54. ,I.Resource_Name as Resource_Name_Id
  55. -- ,IFNULL(R.Resource_Display_Name,I.Resource_Name) as Resource_Display_Name
  56. -- , I.Resource_Name
  57. -- , R.Resource_Name
  58. -- ,IFNULL(R.Booster_Tier_Group,-1) as Booster_Tier_Group_Id
  59. -- ,IFNULL(R.Booster_Tier_Group_Name,'None') as Booster_Tier_Group
  60. ,INITCAP(I.Resource_Status) as Resource_Status
  61. ,I.Start_Session_Resource_CNT as Start_Session_Resource_Count
  62. ,S.LTV_Group
  63. ,S.LTV_Group_30D
  64. -- ,S.Seniority
  65. ,S.Seniority_Bin
  66. ,S.Engagement_Group
  67. -- ,S.Is_Payer
  68. -- ,S.Arena_Index,
  69. ,S.Arena_Group
  70. ,Daily.payers_segment
  71. ,CASE
  72. WHEN S.arena_index <=1 THEN '0-125'
  73. WHEN S.arena_index <=6 THEN '125-1400'
  74. WHEN S.arena_index <=8 THEN '1400-2000'
  75. WHEN S.arena_index <=13 THEN '2000-3800'
  76. WHEN S.arena_index <=16 THEN '3800-7000'
  77. WHEN S.arena_index <=19 THEN '7000-16000'
  78. WHEN S.arena_index <=22 THEN '16000-30000'
  79. WHEN S.arena_index >=23 THEN '30000+'
  80. end trophy_group
  81. , S.trophy_group_2
  82. FROM SNOWPLOW.DERIVED.USER_SESSION_INVENTORY I
  83. INNER JOIN SNOWPLOW.DERIVED.INTERVAL_LAST_SESSION_PER_USER S
  84. ON (S.USER_ID = I.USER_ID AND I.SESSION_ID = S.Last_Session_Id )
  85. LEFT JOIN candivore.prod.daily_users_from_params Daily ON I.USER_ID = Daily.user_id and S.Interval_Date_Time = Daily.interval_Date
  86. LEFT JOIN (
  87. SELECT
  88. Resource_Id
  89. ,Resource_Name
  90. ,Resource_Display_Name
  91. ,Resource_Type_Id
  92. ,Resource_Type
  93. ,Resource_Sub_Type_Id
  94. ,Resource_Sub_Type
  95. ,Booster_Tier_Group
  96. ,Booster_Tier_Group_Name
  97. ,ROW_NUMBER() OVER (PARTITION BY Resource_Name ORDER BY Resource_Version DESC) as RN
  98. FROM SNOWPLOW.DERIVED.DIM_RESOURCE_VERSION
  99. WHERE (resource_UI_order > -1 or resource_UI_order is null)
  100. ) R ON (LOWER(I.Resource_Name) = LOWER(R.Resource_Name) AND R.RN = 1 and LOWER(ifnull(I.RESOURCE_TYPE,'n/a')) = LOWER(ifnull(R.RESOURCE_TYPE,'n/a')))
  101. WHERE case when R.Resource_Type != 'OnFire' then Start_Session_Resource_Count > 0 else Start_Session_Resource_Count>=0 end and Resource_Name_Id not in ('Nuke','TapTime')
  102. and R.Resource_Type != 'None' )
  103. group by 1,2,3,4,5,6,7,8,9,10,11,12 ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement