Advertisement
YuvalGai

Untitled

May 9th, 2023
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.11 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.     SENIORITY,
  18.     SENIORITY_BIN,
  19.     ENGAGEMENT_GROUP,
  20.     IS_PAYER,
  21.     ARENA_INDEX,
  22.     ARENA_GROUP,
  23.     trophy_group
  24. ) AS
  25.  
  26. SELECT
  27.      I.User_Id
  28.     ,S.Interval_Date_Time
  29.     ,S.Last_Session_Id
  30.     ,IFNULL(R.Resource_Type_Id,-1) AS Resource_Type_Id 
  31.     ,IFNULL(R.Resource_Type,'None') AS Resource_Type
  32.     -- ,IFNULL(case when I.Resource_Name = 'AlbumPage' then 'AlbumPage'
  33.     --              when R.Resource_Type = 'Sticker' then concat(I.Resource_Status,R.Resource_Type)
  34.     --              when R.Resource_Type = 'OnFire' then I.Resource_Name
  35.     --              when R.Resource_Type = 'Ticket' then I.Resource_Name  else R.Resource_Type
  36.     --         end, 'None') as Resource_Type
  37.     ,IFNULL(R.Resource_Sub_Type_Id,-1) AS Resource_Sub_Type_Id
  38.     -- ,IFNULL(R.Resource_Sub_Type,'None') as Resource_Sub_Type
  39.  
  40.     ,IFNULL(CASE WHEN R.Resource_Type IN ('Booster', 'Perk') THEN R.Resource_Sub_Type ELSE I.Resource_Name END,'None') AS Resource_Sub_Type
  41.     -- ,IFNULL(case when R.Resource_Type in ('Booster', 'Perk') then R.Resource_Sub_Type
  42.     --              when R.Resource_Sub_Type = 'Sticker' then concat(I.Resource_Status,R.Resource_Sub_Type)
  43.     --              else I.Resource_Name end,'None') as Resource_Sub_Type
  44.     -- ,IFNULL(case when I.Resource_Name = 'AlbumPage' then 'AlbumPage'
  45.                  -- when R.Resource_Sub_Type = 'Sticker' then concat(I.Resource_Status,R.Resource_Sub_Type)
  46.                  -- when R.Resource_Sub_Type = 'OnFire' then I.Resource_Name
  47.                  -- when R.Resource_Type = 'Ticket' then I.Resource_Name else R.Resource_Sub_Type end,'None') as Resource_Sub_Type
  48.     -- ,IFNULL(R.Resource_Sub_Type,'None') as Resource_Sub_Type
  49.     ,IFNULL(R.Resource_Id,-1) AS Resource_Id
  50.     ,I.Resource_Name AS Resource_Name_Id
  51.     ,IFNULL(R.Resource_Display_Name,I.Resource_Name) AS Resource_Display_Name
  52.     ,IFNULL(R.Booster_Tier_Group,-1) AS Booster_Tier_Group_Id
  53.     ,IFNULL(R.Booster_Tier_Group_Name,'None') AS Booster_Tier_Group
  54.     ,INITCAP(I.Resource_Status) AS Resource_Status
  55.     ,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
  56.     -- I.Start_Session_Resource_CNT as Start_Session_Resource_Count
  57.     ,S.LTV_Group
  58.     ,S.Seniority
  59.     ,S.Seniority_Bin
  60.     ,S.Engagement_Group
  61.     ,S.Is_Payer
  62.     ,S.Arena_Index
  63.     ,S.Arena_Group
  64.     ,CASE
  65.     WHEN S.arena_index <=1 THEN '0-125'
  66.     WHEN S.arena_index <=6 THEN '125-1400'
  67.     WHEN S.arena_index <=8 THEN '1400-2000'
  68.     WHEN S.arena_index <=13 THEN '2000-3800'
  69.     WHEN S.arena_index <=16 THEN '3800-7000'
  70.     WHEN S.arena_index <=19 THEN '7000-16000'
  71.     WHEN S.arena_index <=22 THEN '16000-30000'
  72.     WHEN S.arena_index >=23 THEN '30000+'
  73. END trophy_group
  74. FROM SNOWPLOW.DERIVED.USER_SESSION_INVENTORY I
  75. INNER JOIN SNOWPLOW.DERIVED.INTERVAL_LAST_SESSION_PER_USER S
  76.         ON (S.USER_ID = I.USER_ID AND I.SESSION_ID = S.Last_Session_Id)
  77. INNER JOIN (
  78.     SELECT
  79.          Resource_Id
  80.         ,Resource_Name
  81.         ,Resource_Display_Name
  82.         ,Resource_Type_Id
  83.         ,Resource_Type
  84.         ,Resource_Sub_Type_Id
  85.         ,Resource_Sub_Type
  86.         ,Booster_Tier_Group
  87.         ,Booster_Tier_Group_Name
  88.         ,resource_UI_order
  89.         ,ROW_NUMBER() OVER (PARTITION BY Resource_Name,Resource_Type ORDER BY Resource_Version DESC) AS RN
  90.     FROM SNOWPLOW.DERIVED.DIM_RESOURCE_VERSION
  91.     WHERE (resource_UI_order > -1 OR resource_UI_order IS NULL)
  92.     ) 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')) )
  93. WHERE CASE WHEN R.Resource_Type != 'OnFire' THEN Start_Session_Resource_Count > 0 ELSE Start_Session_Resource_Count>=0 END
  94.  AND R.Resource_Type != 'None'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement