This project is a data visualisation project done in Tableau on players in the NBA.
Dataset can be obtained from https://data.world/carolinadata/basketball, by writing SQL queries on the website to parse the required data.
To obtain the first dataset (adding positions to the dataset),
SELECT t1.*, t2.position
FROM seasons_stats AS t1
JOIN (SELECT player, year, ws,
CASE
WHEN REGEX(pos, '^C.*') THEN 'Center'
WHEN REGEX(pos, '^F.*') THEN 'Forward'
WHEN REGEX(pos, '^PF.*') THEN 'Forward'
WHEN REGEX(pos, '^SF.*') THEN 'Forward'
WHEN REGEX(pos, '^G.*') THEN 'Guard'
WHEN REGEX(pos, '^SG.*') THEN 'Guard'
WHEN REGEX(pos, '^PG.*') THEN 'Guard'
END AS position
FROM seasons_stats) t2 ON t1.player = t2.player AND t1.year = t2.year AND t1.ws = t2.wsTo obtain the second dataset (aggregated data),
SELECT year,
AVG(age) AS averageAge,
SUM(seasons_stats.2p) / SUM(seasons_stats.2pa) AS average2PTPct,
SUM(seasons_stats.3p) / SUM(seasons_stats.3pa) AS average3PTPct,
SUM(seasons_stats.pts) / SUM(seasons_stats.mp) * 48 * 5 AS averagePointsPerGame,
SUM(seasons_stats.trb_2) / SUM(seasons_stats.mp) * 48 * 5 AS averageReboundsPerGame,
SUM(seasons_stats.ast_2) / SUM(seasons_stats.mp) * 48 * 5 AS averageAssistsPerGame,
SUM(seasons_stats.stl_2) / SUM(seasons_stats.mp) * 48 * 5 AS averageStealsPerGame,
SUM(seasons_stats.blk_2) / SUM(seasons_stats.mp) * 48 * 5 AS averageBlocksPerGame
FROM seasons_stats
GROUP BY year
ORDER BY yearOpen NBA.twbx and click Presentation Mode or press F7 to view the three Stories, 'Scoring Breakdown', 'Win Shares' and 'Team Stats'.
Chua Jing Yang