1. 下载并导入sakila数据库
下载地址:
关于sakila数据库参考网址
2. 下载Tableau DeskTop
只能下载试用版,下载地址
3.连接数据源
打开Tableau软件
选择 MySQL服务器
如果没有安装MySQL驱动程序,需要提前安装,根据自己电脑型号选择合适版本,只需下载.msi文件即可。
下载地址
到这里应该就连接成功了
4. 选择 左侧“新自定义SQL”,输入查询语句,按月筛选出每个国家每个城市每家店的销售额,代码如下:
SELECT s.store_id,cy.country as country,c.city as city,sum(p.amount) as 销售额,concat(year(r.rental_date),'-',month(r.rental_date))as 年月
FROM payment AS p,rental AS r,inventory AS i,store AS s,address AS a ,city AS c,country AS cy,staff AS m
where p.rental_id = r.rental_id
and r.inventory_id = i.inventory_id
and i.store_id = s.store_id
and s.address_id = a.address_id
and a.city_id = c.city_id
and c.country_id = cy.country_id
and s.manager_staff_id = m.staff_id
group by cy.country_id,c.city_id,s.store_id,month(r.rental_date)
order by s.store_id
5 . 数据可视化
点击下图的工作表1
结果如图所示
拖动维度中的“city”和“country”到右侧区域的行和列,然后点击智能显示的地图样式,行和列会自动转换成经纬度,可以通过左侧修改点的颜色和大小。
你会发现地图上只有一个点,但是查询到的数据应该有两个城市,地图右下角上提示“1未知”
单击打开,选择“编辑位置”,显示如下:
通过百度,发现Woodridge是美国加拿大的一个城市,而sakila数据库中city字段Woodridge对应的country为Australia,这就尴尬了,继续下一步吧。
为了实现当鼠标点到某个点的时候能显示某个月的销售额这个功能,需要再插入一个新的工作表2,点击左侧“标记“中的“工具提示”,在“编辑工具提示”中选择“插入”下拉框,选择插入工作表2。
关于工作表2的操作:
按照提示把年月拖到列中,把销售额作为行,选择右侧“智能显示”的图表,下面给出几种样式的图表显示
回到工作表1,当鼠标移动到标记点之后,就会显示该城市每月的销售额