[text] nambikai

Viewer

copydownloadembedprintName: nambikai
  1. REFRESH aggregation_input;
  2. REFRESH FA_SS_SONGCONSUMPTION_CHART;
  3. REFRESH lu_week;
  4. REFRESH WEEKLYSONGCONSUMPTIONCHART;
  5.  
  6. INSERT OVERWRITE ETL_WRK_CONSUMPTIONCHARTS_COLUMN (REPORTKEY,PEAKRANK,UNIFIEDSONGID,WEEKSONCHART,LWRANK,LW2RANK,WEEKID,DatasetKey)
  7. SELECT reportkey,CAST(MIN(thiswksrank) AS INT) PeakRank,uid AS UnifiedSondID,CAST(COUNT(*) AS INT) Weeksonchart
  8. ,CAST(MAX(CASE WHEN f.weekid = ai.previousweekid THEN thiswksrank ELSE NULL END) AS INT) lwrank
  9. ,CAST(MAX(CASE WHEN f.weekid = ai.prev2weekid THEN thiswksrank ELSE NULL END) AS INT) lw2rank
  10. ,ai.weekid,f.Datasetkey
  11. FROM FA_SS_SONGCONSUMPTION_CHART f
  12.         ,(SELECT ai.weekid ,ai.previousweekid ,lw.previousweekid prev2weekid FROM aggregation_input ai JOIN lu_week lw ON ai.previousweekid = lw.weekid
  13.          WHERE ai.aggregation_type = 'FireballCharts' limit 1 ) ai
  14. WHERE f.weekid < ai.weekid GROUP BY reportkey,uid,ai.weekid,f.Datasetkey;
  15.  
  16. REFRESH ETL_WRK_CONSUMPTIONCHARTS_COLUMN;
  17.  
  18. INSERT OVERWRITE FA_SS_SONGCONSUMPTION_CHART
  19. (id,reportkey, thiswksrank ,lastwkrank ,2weekrank ,peakposition ,weeksonchart ,artist ,Title ,Label ,Genre,ReleaseDate ,TWTotalVolume ,ChangeTotalVolume ,LWTotalVolume ,thiswkssales ,ChangeSongSales ,TWOnDemandAudioStreams ,ChangeAudioODStreams ,uid ,weekid , DatasetKey,Country,ATDTotalVolume,ATDSongSales,ATDOnDemandAudioStreams)
  20. PARTITION(weekid_bkt=202007)
  21. SELECT
  22.         CAST(CONCAT (CAST(2532 AS string),CAST(sc.weekid AS string),CAST(row_number() OVER (ORDER BY sc.weekid,sc.twrank) + (2532 * 10) AS string)) AS BIGINT) AS id
  23.         ,2532 AS reportkey
  24.         ,sc.twrank AS thiswksrank
  25.         ,ISNULL(sc.lwrank,cc.lwrank) AS lastwkrank
  26.         ,cc.lw2rank AS 2weekrank
  27.         ,CAST(CASE WHEN ISNULL(cc.peakrank, 9999) < sc.twrank THEN cc.peakrank ELSE sc.twrank END AS INT) AS peakposition
  28.         ,CAST(ISNULL(cc.WeeksOnChart, 0) + 1 AS INT) AS WeeksOnChart
  29.         ,sc.Artist
  30.         ,sc.Title
  31.         ,ISNULL(sc.Label, '') AS Label
  32.         ,sc.CoreGenre AS Genre
  33.         ,sc.releasedate AS ReleaseDate
  34.         ,twtotal AS TWTotalVolume
  35.         ,CASE WHEN CAST((((ISNULL(CAST(twtotal AS FLOAT), 0) - ISNULL(CAST(lwtotal AS FLOAT), 0)) / nullif(CAST(lwtotal AS FLOAT), 0)) * 100) AS INT) IS NULL THEN '' ELSE CAST(CAST((((ISNULL(CAST(twtotal AS FLOAT), 0) - ISNULL(CAST(lwtotal AS FLOAT), 0)) / nullif(CAST(lwtotal AS FLOAT), 0)) * 100) AS DECIMAL(12, 1)) AS string) END AS ChangeTotalVolume
  36.         ,lwtotal AS LWTotalVolume
  37.         ,TWSongsales
  38.         ,CASE WHEN CAST((((ISNULL(CAST(TWSongsales AS FLOAT), 0) - ISNULL(CAST(LWSongSales AS FLOAT), 0)) / nullif(CAST(LWSongSales AS FLOAT), 0)) * 100) AS INT) IS NULL THEN '' ELSE CAST(CAST((((ISNULL(CAST(TWSongsales AS FLOAT), 0) - ISNULL(CAST(LWSongSales AS FLOAT), 0)) / nullif(CAST(LWSongSales AS FLOAT), 0)) * 100) AS DECIMAL(12, 1)) AS string) END AS ChangeSongSales
  39.         ,twaudiostreams AS TWOnDemandAudioStreams
  40.         ,CASE WHEN CAST((((ISNULL(CAST(twaudiostreams AS FLOAT), 0) - ISNULL(CAST(LWOnDemandAudioStreams AS FLOAT), 0)) / nullif(CAST(LWOnDemandAudioStreams AS FLOAT), 0)) * 100) AS INT) IS NULL THEN '' ELSE CAST(CAST((((ISNULL(CAST(twaudiostreams AS FLOAT), 0) - ISNULL(CAST(LWOnDemandAudioStreams AS FLOAT), 0)) / nullif(CAST(LWOnDemandAudioStreams AS FLOAT), 0)) * 100) AS DECIMAL(12, 1)) AS string) END AS ChangeAudioODStreams
  41.         ,x.unifiedsongid
  42.         ,sc.WeekID
  43.         ,CAST(ds.datasetid AS INT) DatasetKey
  44.         ,LOWER(sc.CountryCode)
  45.         ,0 ATDTotalVolume
  46.         ,0 ATDSongSales
  47.         ,0 ATDOnDemandAudioStreams
  48. FROM WEEKLYSONGCONSUMPTIONCHART sc inner join song x on x.songkey = sc.songid
  49. JOIN di_dataset ds ON sc.CountryCode = ds.country
  50. LEFT JOIN ETL_WRK_CONSUMPTIONCHARTS_COLUMN cc ON cc.unifiedsongid = x.unifiedsongid AND ds.datasetkey=cc.datasetkey AND sc.weekid = cc.weekid
  51. LEFT JOIN (SELECT UID, thiswkssales AS LWSongSales, TWOnDemandAudioStreams AS LWOnDemandAudioStreams,ReportKey,DatasetKey FROM FA_SS_SONGCONSUMPTION_CHART c JOIN lu_week w ON w.previousweekid  = c.WeekID AND w.weekid = 202007) lsc ON sc.SongID = lsc.UID AND CAST(ds.datasetid AS INT) = lsc.DatasetKey WHERE sc.WeekID =202007;
  52.  
  53.  
  54. REFRESH FA_SS_SONGCONSUMPTION_CHART;

Editor

You can edit this paste and save as new:


File Description
  • nambikai
  • Paste Code
  • 24 Feb-2020
  • 3.91 Kb
You can Share it: