安装Tableau
你需要安装 Tableau。你可以在 Tableau 官网上找到安装程序包。
你也可以使用 Tableau Public,它是免费版本,与个人版或专业版相比,无法连接所有的数据格式或者数据源,但是已经能够完成大部分的工作。它可以读取文本 (CSV) 文件和 Excel 文件中的数据,你将在这门课程中使用这两种文件。此外,你无法在计算机上保存工作簿,而是保存到云端的公共工作簿中,然后可以在那里下载工作簿。
连接数据
开始使用 Tableau。第一步是加载一些数据。
我提供了一个数据集,你将在这节课的后续部分使用它。该数据集包含 Global Superstore 的交易记录,以及收益和销售团队成员列表。你可以在资源部分找到 Excel 文件,请下载该文件
。
启动后,Tableau的界面如下:
你将在左侧边栏中看到可以连接的数据源。对于文件资源,你可以连接到 Excel 文件、文本文件(例如 CSV)或统计文件(例如来自 SAS、SPSS 和 R 的文件)。
你可以使用 OData 连接到一些远程资源(连接到服务器),还可以连接到 Google 表格(点击更多…)。
开始加载 Global Superstore 数据。点击 “Excel”,然后选择 Global Superstore Excel 文件。
当 Tableau 连接到该数据后,你应该能够在左侧边栏中看到该 Excel 文件中的工作表(Orders、People 和 Returns)。大的橘色字体告诉你将工作表拖到此处,所以将 Orders 工作表拖到顶部面板上。
你现在应该能够在面板下方看到 Order 表格的数据预览。我还使用了 Data Interpreter(即左侧的复选框)。Data Interpreter 会尝试清理数据并添加格式,使数据更容易在 Tableau 中使用。
Tableau 会自动在标题行中查找列标签。它还会尝试检测每列的数据类型。标题栏里的小图标表示列的数据类型。Row ID 是数值数据,Order ID 是文本,Order Date 是日期,等等。
Tableau 还会查找地理空间数据,如下所示。
你可能注意到了,在第一幅图中,标题中的数值图标 (#) 是蓝色的,但是在上图中是绿色的。Tableau 会猜测数值数据是离散还是连续的,并用颜色表示,蓝色表示离散数据,绿色表示连续数据 。稍后你还会见到这类颜色编码。
Tableau 并非始终都能猜对数据类型,所以你可以通过点击数据类型符号手动设置。
例如,你可能需要将 Row ID 改成字符串(文本),因为你不会对其进行任何数学运算,只是一个标识符。你可以自己尝试如何进行设置。
因为 Tableau 从猜测的标题行中获取列名称,所以有时候列名称会不准确。幸运的是,你可以重命名,方法是点击三角形并出现下拉菜单,或者直接双击列名称。
对于字符串列,你可以进行一些简单的变换,比如将数据拆分成多列。例如,Order ID 包含用连字符分隔的三个部分。你可能希望每个部分都成一列。要拆分列,点击列标题中的三角形。
Tableau 根据分隔字符(此处是连字符)自动拆分。你还可以使用自定义拆分(选择 Custom Split…)选择按照不同的字符拆分。拆分过后,每个部分都自成一列。下面是拆分后的效果,你也可以自己试试。
在下拉菜单中,你还会看到 Create Calculated Field…。该选项使你能够根据现有列创建新的列。你可以在 Tableau 中体验该功能,或在相关文档中了解详情,我稍后将详细介绍计算字段。
查看数据
对我来说,经常很有用的功能是在工作表中快速预览数据。如果将光标悬停在某个工作表上方,就会在右侧出现一个图标。点击该图标即可查看数据。
连结数据
你经常需要将多个来源的数据整合到一起,例如数据库中的不同表格或 Excel 文件中的工作表。例如,你可能需要包含 People 工作表和 Orders 工作表中的数据,以便分析每名销售人员的业绩。
在 Tableau 中,你可以将多个工作表拖到顶层面板上。根据你拖到的位置,会出现两种结果:联合模式或 连结模式。
联合
如果将 People 拖到 Orders 下面,就出现联合效果。联合模式将数据相互堆叠,第二个工作表会附加到第一个工作表的结尾。如果多个工作表的列相同的话,这种方法就很不错,因为列将匹配。但是,如果列不同的话,就会出现很多 “null”,因为为两个工作表都创建了相关列,但是第一个工作表中没有第二个工作表中的某些列。
连结
如果将第二个工作表或表格拖到顶部面板上,但是没有放在第一个工作表的上方,就会出现连结模式。连结模式不会将数据相互堆叠,而是根据共同值将每个工作表中的数据相结合。在这里,Orders 和 People 都具有列 Region,我们可以将其当做共同值。
Tableau 默认情况下会进行“内连结”。只要有共同值,就会结合数据。所以当 Orders 中的 Region 是 “East” 时,就从 Region 为”East”的 People 中获取数据。从上图中可以看出,People 中的 Person 列添加到了 Orders 中的数据上。
你可以点击连结符号来更改连结类型。此处,你还可以选择"左连结"("left inner join”)。正常的内连结仅结合共同的数据,但是左连结会返回原始工作表中行不是 null 的数据。
合并数据
你经常需要从不同的数据源合并数据,比如在数据库中不同的表格,或者是 Excel 中不同的表单。举例来说,如果你想将 People 表单中的所有信息合并到 Order 表单中,你就可以分析不同销售人员的表现。
在 Tableau 中,你可以通过拖动不同表单至顶部面板来完成。你会得到两个不同的结果,取决于你拖到 union 还是 join。
Union
如果你拖动 People 到 Order 下方,你将获得一个联合(Union)。Union 可以让数据“堆叠”在另一个之上,第二张表单将会连接在第一张表单之后。如果你有许多表单,并且它们的列名称都相同,则 Union 用起来会非常方便。然而,如果列不一致,那么你会看到许多 “nulls”,因为 Union 之后所创建的列是为两张表单服务,但第一张表单并没有第二张表单相应列的数据。
Joins
如果将第二个表格拖至顶部面板内,而不是拖到第一个表格的上面,你执行的就是 join 操作。join 是基于两个表格的公共值来合并数据,而不是将两个表格的数据堆叠在一起。在本例中,Orders 和 People 表都含有作为公共值得 Region 列。
Tableau 在默认情况下执行“内连结”("inner join"),但凡存在公共值,就会这样合并数据。因此当 Orders 表中 Region 列的值为 "East" 时,Tableau 就从 People 表中 Region 列的值同样为 "East" 时,提取对应的数据。从而你会看到, People 表中的 Person 列已经添加到 Orders 表对应的列中。
你可以单击 join 符号来更改正在执行的 join 类型。在这种情况下,你也可以选择“左连结”("left inner join"),一般的内连结合并共同的数据,而左连结合并原始表格中所有的数据,并将非公共的行值设置为 "null"。