Advertisement
YuvalGai

Untitled

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