Tableau数据可视化指南
一、Tableau 软件概况
Tableau 公司成立于 2003 年,是由斯坦福大学的三位校友 Christian Chabot(首席执行官)、Chris Stole(开发总监)以及 Pat Hanrahan(首席科学家)在远离硅谷的西雅图注册成立的。其中,Chris Stole 是计算机博士,Pat Hanrahan 是皮克斯动画工作室的创始成员之一,曾负责视觉特效渲染软件的开发,两度获得奥斯卡最佳科学技术奖,至今仍在斯坦福担任教授职位,教授计算机图形课程。Tableau 公司主要面向企业数据提供可视化服务,是一家商业智能软件提供商。企业运用 Tableau授权的数据可视化软件对数据进行处理和展示,不过 Tableau 的产品并不局限于企业,其他机构甚至个人都能很好地运用 Tableau 软件进行数据分析工作。数据可视化是数据分析的完美结果,能够让枯燥的数据以简单友好的图表形式展现出来。可以说,Tableau 在抢占细分市场,也就是大数据处理末端的可视化市场,目前市场上并没有太多这样的产品。同时,Tableau 还为客户提供解决方案服务。
“所有人都能学会的业务分析工具”,这是 Tableau 官方网站上对 Tableau Desktop 的描述。确实,Tableau Desktop 的简单、易用程度令人发指,这也是软件的最大特点。使用者不需要精通复杂的编程和统计原理,只需要把数据直接拖放到工具簿中,通过一些简单的设置就可以得到想要的可视化图形。Tableau Desktop 的学习成本很低,使用者可以快速上手,这无疑对日渐追求高效率和成本控制的企业来说具有巨大吸引力,特别适合日常工作中需要绘制大量报表、经常进行数据分析或需要制作图表的人使用。简单、易用并没有妨碍 Tableau Desktop 拥有强大的性能,它不仅能完成基本的统计预测和趋势预测,还能实现数据源的动态更新。Tableau Desktop 不同于 SPSS,SPSS 作为统计分析软件,比较偏重于统计分析,使用者需要有一定数理统计基础,虽然功能强大且操作简单、友好,但输出的图表与办公软件的兼容性及交互方面有所欠缺。Tableau Desktop 是一款完全的数据可视化软件,专注于结构化数据的快速可视化,使用者可以快速进行数据可视化并构建交互界面,用来辅助人们进行视觉化思考,并没有 SPSS 强大的统计分析功能。总之,快速、易用、可视化是 Tableau Desktop 最大的特点,能够满足大多数企业、政府机构数据分析和展示的需要,以及部分大学、研究机构可视化项目的要求,而且特别适合企业使用,毕竟 Tableau 自己的定位是业务分析和商业智能。在简单、易用的同时,Tableau Desktop 极其高效,数据引擎的速度极快,处理上亿行数据只需几秒就可以得到结果,用其绘制报表的速度也比程序员制作传统报表快 10 倍以上。Tableau Desktop 还具有完美的数据整合能力,可以将两个数据源整合在同一层,甚至可以将一个数据源筛选为另一个数据源,并在数据源中突出显示,这种强大的数据整合能力具有很大的实用性。Tableau Desktop还有一项独具特色的数据可视化技术——嵌入地图,使用者可以用经过自动地理编码的地图呈现数据,这对于企业进行产品市场定位、制定营销策略等有非常大的帮助。
二、Tableau 数据类型
Tableau 支持字符串、日期/日期时间、数字和布尔数据类型。这些数据类型会以正确的方式自动进行处理。如果创建自己的计算字段,就需要注意如何在公式中使用和组合不同的数据类型,如不能将字符串与数字相加。此外,许多在定义计算时可供使用的函数仅适用于特定数据类型,如DATEPART()函数只能接受日期/日期时间数据类型作为参数。数据源中的所有字段都具有一种数据类型。数据类型反映了该字段中存储信息的种类,如整数、日期和字符串。字段的数据类型在“数据”窗格中由图标标识。Tableau Desktop主要数据类型如图1所示。下面介绍 Tableau 支持的数据类型。
图1 3Tableau 支持的数据类型
1. 字符串(STRING)
字符串是由零个或多个字符组成的序列,常见的例子包括“Wisconsin”“ID-44400”和“Tom Sawyer”等。字符串可以通过单引号或双引号进行识别,例如 “Hello World” 或 ‘Hello World’ 都是有效的字符串表示。如果字符串本身需要包含引号字符,可以使用重复引号的方式,如字符串 “O’'Hanrahan” 中就包含了两个单引号字符。字符串数据类型在 Tableau 中常用于存储描述性数据,如姓名、地址、产品名称等,并支持用于标签创建、轴描述以及文本标记生成等操作,从而丰富数据的可视化展现和分析维度。
2. 日期时间(DATE/DATETIME)
日期时间数据类型,,如"January 24,1992"或"January 24,1992 11:23:00 AM"。如果要将以长型格式编写的日期解释为日期/日期时间,就要在两端放置#符号。例如#January 24, 1992#会被正确识别为日期/日期时间,而未加#符号的“January 24, 1992”则被视为字符串数据类型。
3. 数值型
Tableau 中的数值可以为整数或浮点数。对于浮点数,聚合的结果可能并非总是完全符合预期。例如,可能发现 SUM 函数返回值为-1.42e-14,求和结果正好为 0,出现这种情况的原因是数字以二进制格式存储,有时会以极高的精度级别舍入。
4. 布尔型(BOOLEAN)
包含 TRUE 或 FALSE 值的字段,当结果未知时会出现未知值。例如,表达式 17>Null 会生成未知值,会自动转换为 Null。此外,还有地理型,可以根据需要将省市字段转换为具有经纬度坐标的字段。
三、更改数据类型
在日常工作中,Tableau 可能会将字段标识为错误的数据类型。例如,可能会将包含日期的字段标识为整数而不是日期,可以在“数据源”页面上更改曾经作为原始数据源一部分的字段的数据类型。在“数据源”页面点击字段的字段类型图标,从下拉列表中选择一种新数据类型,如图2所示。
图2 在“数据源”页面更改数据类型
如果使用数据提取,就要确保在创建数据提取之前已经进行所有必要的数据类型更改,否则数据可能不准确。例如,Tableau 把原始数据源中的浮点字段解释为整数,生成的浮点字段部分精度会被截断。如果要在“数据”窗格中更改字段的数据类型,就要点击字段名称左侧的字段类型图标,然后从下拉列表中选择一种新数据类型,如图3所示。
图3 在“数据”窗格更改数据类型
若要在视图中更改字段的数据类型,则要在“数据”窗格中右击某个字段,选择“更改数据类型”,然后选择适当的数据类型,如图4所示。此外,由于数据库中数据的精度比 Tableau 可以建模的精度高,因此将这些值添加到视图中时,状态栏右侧将显示一个精度警告对话框。
图4 在“数据”视图更改数据类型
四、维度和度量
Tableau连接新数据源时会将该数据源中的每个字段分配给“数据”窗格的“维度”区域或“度量”区域,具体情况视字段包含的数据类型而定。如果字段包含分类数据(如名称、日期或地理数据),Tableau 就会将其分配给“维度”区域;如果字段包含数字,Tableau 就会将其分配给“度量”部分。Tableau 为字段给“维度”区域或“度量”区域的初始分配建立了默认值,当我们单击并将字段从“数据”窗格拖到视图时,Tableau 将继续提供该字段的默认定义。如果从“维度”区域中拖动字段,视图中生成的字段将为离散字段;如果从“度量”区域中拖动字段,生成的字段将为连续字段。
当第一次连接数据源时,Tableau 会将包含离散分类信息的字段(如值为字符串或日期的字段)分配给“数据”窗格中的“维度”区域;当单击并将字段从“维度”区域拖到“行”或“列”功能区时,Tableau 将创建列或行标题,如将“支付方式”拖放到行功能区时会出现 4 种支付类型,如图5所示。
图5 拖放维度字段到行或列功能区
维度字段可以转换为度量字段。作为度量处理时,需要在“行”功能区单击该字段,并选择度量,然后选择需要的聚合方式。Tableau 不会对维度进行聚合,如果要对字段的值进行聚合,该字段必须为度量,如计数,如图6所示。将维度字段转换为度量时,Tableau 将提示为其分配聚合(计数、平均值等),聚合表示将多个值聚集为一个数字。
图6 转换字段类型
当第一次连接数据源时,Tableau 会将包含定量数值信息的字段分配给“数据”窗格中的“度量”区域;当将字段从“度量”区域拖到“行”或“列”功能区时,Tableau 将创建连续轴,创建一个默认的数据展示样式,我们可以根据需要进行修改,如图7所示。
图7 拖放度量字段到行或列功能区
从“度量”区域拖出的任何连续字段在添加到视图时,如果随后单击该字段并选择“离散”,字段的值就会创建列或行标题,如图8所示。
图8 创建列或行标题
Tableau 会继续对字段的值进行聚合,即使该字段现在为离散,它仍然是度量,而 Tableau 会始终对度量字段进行聚合。
五、连续字段和离散字段
连续意指“构成一个不间断的整体,没有中断”,离散意指“各自分离且不同”。在 Tableau中,字段可以为连续或离散。当单击并将字段从“数据”窗格的“维度”区域拖到“列”或“行”时,值默认情况下为离散,并且 Tableau 会创建列或行标题;当单击并将字段从“度量”区域拖到“列”或“行”时,值默认情况下为连续,并且 Tableau 会创建轴。
如果字段包含可以加总、求平均值或以其他方式聚合的数字,Tableau 就会在第一次连接到数据源时将该字段分配给“数据”窗格的“度量”区域,Tableau 会假定这些值是连续的。当字段从“度量”区域拖到“行”或“列”时,必须能够显示一系列实际值和可能值。因为除了数据源中的初始值之外,在视图中处理连续字段时始终可能出现新值。因此,当将连续字段放在“行”或“列”功能区时,Tableau 会显示一个轴,这个轴是最小值和最大值之间值的度量线,如将“数量”拖放到“列”功能区上,如图9所示。
![]()
图9 将连续字段拖放到行或列功能区
小贴士
字段包含数字的事实并不必然表明这些值是连续的,邮政编码就是一个很经典的例子。尽管邮政编码通常完全由数字组成,不过绝不会加总或求平均值。如果 Tableau 将此类字段分配给“度量”区域,应将其拖到“维度”区域。
如果某个字段包含的值是名称、日期或地理位置,Tableau 会在第一次连接到数据源时将该字段分配给“数据”窗格的“维度”区域,Tableau 会假定这些值是离散的。当把离散字段放在“列”或“行”功能区上时,Tableau 会创建标题,如果将“门店名称”拖放到“行”功能区上,如图10所示。
![]()
图10 将离散字段拖放到行或列功能区



