数据分析的结果,需要进行可视化处理,也就是人们常说的制作分析图表。制作图表有很多工具,例如Excel、Python、Power BI表、Tableau等,这些工具各有所长,也各有所短。
单纯就数据可视化处理来说,对于不需要花费很多精力、不需要绞尽脑汁去想怎么使用函数、怎么去编写代码的职场人士而言,其实不需要绘制多么复杂的图表,因为绘制图表的目的是一层层发现问题,揭示问题,分析问题,在这种情况下,Tableau就是一个非常简单、非常容易上手的工具。
本章我们结合实际案例,讲述如何使用Tableau对数据进行可视化处理。
为了快速了解什么是Tableau,如何使用Tableau来对数据进行可视化处理,下面结合一个简单的员工信息属性分析的例子进行说明。
本案例使用的原始数据是一个Excel表格,如图1-1所示。本案例数据源文件是“员工信息.xlsx”文件。
图1-1 员工基本信息
我们要根据这个表格数据,制作如图1-2所示的员工属性分析和如图1-3所示的薪资分析报告,包括性别人数分布分析、部门人数分布分析、学历人数分布分析、年龄人数分布分析、工龄人数分布分析、历年累计人数趋势分析、薪资分析等。
图1-2 员工信息属性分析仪表板
图1-3 员工薪资分析仪表板
首先将Tableau与Excel文件建立连接,并对数据进行必要的整理加工。这种数据连接和整理加工,在Tableau中是非常容易的。
打开Tableau程序,如图1-4所示。
图1-4 打开的Tableau程序
单击左侧“连接”列表中的“Microsoft Excel”命令,打开“打开”对话框,在文件夹里选择要分析的“员工信息.xlsx”文件,如图1-5所示。
图1-5 选择要分析的Excel文件
单击“打开”按钮,进入Tableau的“数据源”界面,如图1-6所示。
图1-6 Tableau的“数据源”界面
将左侧窗口中的“基本信息”工作表拖放到右侧窗口中的“将工作表拖到此处”位置(也可以双击工作表“基本信息”),得到员工基本信息数据的预览效果,如图1-7所示。
图1-7 员工信息数据预览
由于需要对年龄和工龄进行分组分析,而原始数据中并没有这两个字段,因此需要根据出生日期和入职日期创建年龄分组字段和工龄分组字段,这可以使用Tableau函数计算处理。
首先创建计算字段“年龄”。在任意字段标题位置右击,在弹出的快捷菜单中执行“创建计算字段”命令,如图1-8所示。
为了使数据预览效果更加清晰,最好在字段“出生日期”处右击,这样创建的计算字段“年龄”会在字段“出生日期”后面。
图1-8 “创建计算字段”命令
打开对话框,输入字段名“年龄”,并输入下面的公式,如图1-9所示。
IF DATEDIFF('year',[出生日期],TODAY())<=30 THEN "30岁以下" ELSEIF DATEDIFF('year',[出生日期],TODAY())<=35 THEN "31-35岁" ELSEIF DATEDIFF('year',[出生日期],TODAY())<=40 THEN "36-40岁" ELSEIF DATEDIFF('year',[出生日期],TODAY())<=45 THEN "41-45岁" ELSEIF DATEDIFF('year',[出生日期],TODAY())<=50 THEN "46-50岁" ELSEIF DATEDIFF('year',[出生日期],TODAY())<=55 THEN "51-55岁" ELSE "56岁以上" END
图1-9 创建计算字段“年龄”
单击“确定”按钮,数据表中就添加了一个计算字段“年龄”,如图1-10所示。
图1-10 添加的计算字段“年龄”
以此方法再创建和添加计算字段“工龄”,如图1-11和图1-12所示,其计算公式如下。
IF DATEDIFF('year',[入职时间],TODAY())<=5 THEN "5年以下" ELSEIF DATEDIFF('year',[入职时间],TODAY())<=10 THEN "6-10年" ELSEIF DATEDIFF('year',[入职时间],TODAY())<=15 THEN "11-15年" ELSEIF DATEDIFF('year',[入职时间],TODAY())<=20 THEN "16-20年" ELSE "20年以上" END
图1-11 创建计算字段“工龄”
图1-12 添加的计算字段“工龄”
在创建计算字段时,使用了Tableau函数的DATEDIFF函数、TODAY函数、IF函数、ELSEIF函数等,这些函数与Excel函数差不多,很好理解,也很好应用。