本节书摘来自华章社区《Tableau数据可视化实战》一书中的第1章,第1.12节合并不同数据源,作者(美)Ashutosh Nandeshwar,更多章节内容可以访问云栖社区“华章社区”公众号查看
1.12 合并不同数据源
通常,我们的数据以不同格式或者不同文件存储。在关系数据库中,如果两个不同的表有相同的字段,我们可以用这个字段将这两个表合并在一起,并且通过一个查询中把数据提取出来。Tableau支持单一数据源连接的合并;然而,为了合并多种数据源连接,Tableau使用一个称之为data blending(数据混合)的概念。在这个方法中,你将会看到如何混合两种不同的数据源。
准备工作
登录http://bit.ly/12rUIh3后,下载美国州立人口的电子数据表。另存为CSV格式并命名为USStatesPopulation.csv。
实现步骤
CSV文件下载完成后,在Tableau里创建一个新的工作表,并执行以下步骤来合并CSV文件和Excel文件:
Step01 在新的工作表里,连接Sample-Superstore Sales (Excel)数据源。
Step02 当数据下载后,你可以看见字段分别填充到Dimensions(维度)和Measures(度量)面板中。在Data(数据)中点击Connect to Data(连接数据)并选择文本文件USStatesPopulation.CSV。
Step03 接受Text File Connection(文本文件连接)对话框里的所有默认选项,并点击OK(确认)按钮。
Step04 在之后的对话框里选择Connect Live(实时连接)。
Step05 Tableau将匹配所有的字段名称,如果在两个数据源里都发现了同样的字段名,那么它将会为这个共同的字段名创建关联。对于手动创建的关联,点击Data(数据)并选择Edit Relationships(编辑关联)。
Step06 在Relationships(关联)对话框内,选择Sample-Superstore Sales(Excel)作为Primary(首要)数据源。Tableau将把USStates Population.csv作为第二数据源文件,如图1.19所示。
Step07 点击左列的Custom(自定义)单选按钮,在右边的列中选择State(州),然后点击OK(确认)按钮。
Step08 为通过State(州)这个字段来查看利润概况,从Superstore Sales(Excel)数据源中将State(州)字段拖放到Rows(行)中,并将Profit(利润)度量项拖放到Text Marks(文本标记框)。
Step09 在Data(数据)面板内点击USStatesPopulation#csv数据源,并且在Measueres(度量)面板内右击Census population_April 1,2010(2010年4月1日人口普查数),然后选择Add to Sheet(添加到表)。
Step10 你可以看到Measure Values(度量值)面板中有三个度量值:Columns(列)中的Measure Names(度量名),以及数据表中的Census population_April1,2010(2010年4月1日的人口普查数)和Profit(利润),如图1.20所示。
实现原理
在同一个的工作表中,Tableau通过数据源的共有字段来创建关联,并运用这个关联来合并两个或两个以上的不同数据源。你可以在关联中指定数据源中的共有字段,从而自定义混同操作(blending operation)。同时需注意到,这种混配(blending)不同于两个表的连接。因为当我们连接两个表时,我们创建的是行连接,并可以在这两个表中添加字段。然而,在这种混配里,我们仅仅在单个可视化图形中显示不同数据源中的不同字段。
了解更多
由于混配或合并多种数据源相当有挑战性,可能看别人实际操作就会更容易理解这个概念。James Wright在Youtube上上传了一段混配数据的视频,登录网址http://youtu.be/G01Iz7y6y0即可查看。