考试指南对应考点

1.1 Create live connections and extracts

1.1.1 Create a live connection to a data source
1.1.2 Explain the differences between using live connections versus extracts
1.1.3 Create an extract
1.1.4 Save metadata properties in a .TDS
1.1.5 Create a data source that uses multiple connections

数据连接界面Connect简介

我们打开Tableau的第一个界面就是左侧的数据连接界面。连接数据所有Tableau工作的第一步。这个界面里列出了所有Tableau可以连接的数据类型。其中主要有三种:

Tableau Server - Published Data Source
To a File: 基于具体一个文件的数据源
To a Server: 居于不同平台的本地或云端的各种系统或者数据库

Saved Data Source: Sample-Superstore & World Indicators
这两个数据源是Tableau经常使用的教学数据。它的内容是零售数据和世界各国的一些宏观指标。为了方便,后续的课程会使用Sample-Superstore来作为一个常用的数据源来做示范


Search for Data - Tableau Server

刚入门的时候,你会对这个选项感觉到莫名奇妙,因为Tableau Server不是Publish Dashboard的地方么,那能有什么数据呢,但其实这个是一种错误的印象。
在这个选项的背后,它所指的是Tableau Published Data Source.

Tableau Published Datasource是指在公司内部,已经有人创建好了一个现成data source. 你可以使用这个别人已经创建好的数据源来创建你的Dashboard. 通过使用同一个data source,大家可以确保不同的dashboard之间,KPI的定义和计算都是一致的从而避免因使用不同数据源而造成的错误。在后边我们会专门讲如果创建Published Datasource


连接单一文件: To a file

Microsoft Excel

Excel可以说是在所有数据源中最常见也是最容易出问题的一种类型。 为了在你接触到Excel时就了解未来可能使用Excel中会遇到的问题,我单独创建了一课叫做使用Excel作为数据源时的重要注意事项。

当我们连接一个Excel时,在左侧就会出现这样的界面,Connections下边是Excel文件的名字,在Excel文件名字下边是所有的Excel Sheet. 每个Sheet Name前边是一个小表格的标志。但是,当我们什么都不做的时候,你会发现右侧是一片空白,我们看到Tableau显示的 Drag Tables Here. 这就意味着我们需要把那个Sheet的图表拖拽到右侧。当我们如下图所示拖拽到右侧时,你会看到上边的名字从Sample - SuperStore改成了Orders (Sample - SuperStore).同时,在上边拖拽过去的时候,你会发现数据也同时出现了在下方。这里会给你提供前100行数据的预览,让你了解大概的数据格式。

Text File

作为刚开始学习Tableau的初学者,你最经常看到的另一种数据格式其实是csv文件。 csv文件是除了Excel格式之外可以说是非常常见的数据格式之一了。但是在Tableau的数据连接界面,你会发现没有一个格式叫做csv。这是因为CSV是一种文本格式,你需要选择Text File来打开它。

CSV vs Excel

CSV与Excel最大的不同就是CSV里的每个column都是string格式,无论是什么column。当你在Tableau里边打开它时,你就会面临着给每个column更改column type的问题

Tableau非常贴心的提供了一个叫做Use Data Interpreter的功能,如果你启动这个功能,它会自动的帮你识别CSV文件里边的每个column的数据类型,然后相应的更新,你可以在它识别的基础上进一步修正,这会大大的缩短你所需要的时间。


其他的数据连接类型对于初学者来讲实在是没有必要。我也不想在这写太多。要不你该bandon了,所以我觉得包含Excel和CSV这两种类型就已经够用了。

Live vs Extract


Live Connection

Live就是实时连接的意思,数据会保存在原始文件中,如果连接的是Excel,那么这个Excel就会一直被占用,如果是数据库,那这个数据库就会一直被Tableau Query。 Live Connection一般比较适合刚开始打开一个文件,进行简单的测试,以确定文件是否正确。使用Live Connection你必须注意以下几点:

1. 如果你有大量的数据,那么你在实际Tableau的操作当中,有一些计算会运行的非常慢,因为Tableau需要先把数据转换,搬运到Tableau所占用的内存当中,然后Tableau才能调用,再进行计算。 所以大量的数据一般建议先使用Extract。

2.当你使用Live Connection作为Tableau的data source的时候,你保存的Tableau文件里是不包含任何数据的,这一点非常重要。当你打开一个你之前保存过的Dashboard的时候,Tableau会首先要求你连接你之前使用的数据源。所以如果你想要将你的dashboard发给同事,务必要保存好你的数据源文件,并且确保这个数据源文件没有被改动过。

Extract Connection

Extract是提取的意思,基于你所选择的数据来源+你所选择的Extract Filter, Tableau会在本地创建一个数据的copy。在下面的展示中你可以看到,你当你切换到Extract时,Tableau的界面不会有任何的变化,但是当你在底部点击Sheet1时,Tableau就会弹出一个新的界面,并且要求你给一个文件的名字命名。这个文件的格式是 Tableau Data Extract .hyper的格式。在这之后,你在Tableau当中的数据就不再来源于你的Excel,而是来自于你刚刚创建的这个数据的copy. 当你更改你的Extract Filter或者是Excel是,你可以用Refresh来刷新你的Extract.

在整个数据连接界面的右上角,有几个非常重要的选项,它们依次是 Connection
Live/Extract

当你选择Extract时,右侧还会出现一个一个叫做Edit的选项,在Edit的右侧,是一个refresh的选项。当此时Refresh的选项是灰色的。

在Refresh的右侧还有一个叫做Filters的选项,这个Filter的名字叫做DataSource Filter. 这是所有Filter当中第二靠前的一个Filter选项,它是所有会显示的数据的总闸门。


Extract最重要的优势就是速度。 由于数据以Tableau自己的格式.hyper保存,而这种.hyper格式是经过Tableau优化的,所以对比原始数据,Tableau在使用hyper创建各种图表计算时,反应速度会快上一大截。

Extract的另一个优点时稳定。不同于Excel,Hyper不能被修改。这就意味着,当你展示重要数据时,可以确保你展示Dashboard中的结果和你创建Dashboard时的结果是一致的。而很多时候由于你忘记了你用了哪个Excel或者连接了哪个数据,最后导致Dashboard结果发生改变,从而在Presentation的过程中造成重大的麻烦。


Data Extract Filter

当你点击Extract, 并点击Extract右侧Edit按钮时,这个Extract Data的界面就会出现。简单的说,Edit选项决定了你后边重命名的那个数据copy包含了哪些数据。

Data Storage: Logical Tables/Physical Tables

Logical Table主要是指当你的数据并不是由一个表格组成,而是好几个表格连接到一起时,那么你会将它们最后组建的那个大表作为一整个数据保存下来,而不是保存每个小表。或者用SQL的语言来说,就是你是保存的那个view,至于view后边是由哪些小表组成的,我们是不管的。

Specify how much data to extract: Extract Filter
在这里你还可以添加Filter,这个Filter会决定你最终创建的.hyper文件的大小,而之前我们提到的那个filter叫做Data Source Filter.

Extract Filter会限制哪些数据被copy到你的.hyper 而Data Source Filter会决定在.hyper当中,哪些数据会进入Tableau Dashboard当中。 比如说你在Extract Filter当中选择保存一年的数据,那么在生成的Extract中就有一年的数据。但是你在Data Source Filter选择只保留最近六个月的数据时,那么你在Tableau内部制图时,只会看到六个月的数据。如果你不移除这个DataSource Filter, 你是无论如何也看不到一年数据的。

Extract Filter能确保你不会把过多的数据导入到Extract中,从而造成Tableau的崩溃。
DataSource Filter能够让你确保Dashboard当中只显示你想让使用者看到的数据。
这两个Filter的定位时不同的

Extract Data 后边还有很多选项,我暂时不会在这一课详细解释Aggregation以及后续的选项,因为现在讲到这都已经超出了初学者的范畴了。我会在后边的Tableau高级课程里专门讲这一部分。

如何使用Data Source Filter来提高开发的速度

如果知道使用的数据比较多的时候,一般建议我们利用Data Source Filter,先保留六个月的数据,创建好计算和图表,然后再把这些计算和图表拓展到所有数据。
假设我们一年的数据有几百万行,我们如果计算销售额的总和,我们就要在一瞬间调用这几百万行里column [sales] 的数值进行相加。但是利用data source filter, 我们只保留6个月的画,那么我们只需要调用五十万行,那这个运行速度就大大增加。在Dashboard初期,可能有一些计算就是尝试性质的,你肯定不想每次把一个计算拖拽过去要等几秒钟才能做下一步。

Edit Connection和考试技巧

在Tableau里边,你是可以切换你所使用的Excel的。 这给我们带来了一个巨大的便利。你不需要每次连接一个新的Excel时,还要重新打开一个Excel。 在Tableau的考试中,每一道操作题Tableau都会给你一个新的Excel。如果每个Excel你都要打开一个新的Tableau的话,你花在这个开关的时间上就是不短的时间。而最致命的是如果你忘记了关闭之前的Excel,而用之前的Excel里的数据来回答你现在的问题的时候,你会发现你怎么都找不到答案。而这个问题并不是你的操作出了问题,而是你的数据源出了问题。


在下面的这个操作展示里,你会看到我是如何关闭当前的Excel,快速切换到一个新的Excel的。