数据是数据科学家工作与生活中不可或缺的一部分。从一家公司的销售与利润,到机场的旅客人数,一切都构成数据。所有这些数据都会被记录,并且多数情况下存储在称为数据库的文件中。数据科学家的一个重要任务,就是能够从数据库中获取数据并加以分析。大多数用于清洗的数据集成(ETL)工具,其实都在幕后运行 SQL 命令。因此,掌握一定的 SQL 知识,对Tableau 用户来说非常有价值。
目标
除了提供多种可视化优势,Tableau 还具备出色的即用型连接能力。Tableau 可以轻松与 SQL 等数据库管理系统(DBMS)集成。这在功能上带来更多优势,也方便习惯于使用 SQL 的数据科学家。Tableau 为 SQL Server 提供经过优化的实时连接器,使我们能够在直接使用数据的同时创建图表、报告和仪表板。
先决条件
本文假定您对 Tableau、其特性及其用于分析的方式已有一定了解。由于本文仅聚焦于 Tableau 与 SQL 的结合,建议先阅读以下现有教程,它们是学习 Tableau 和 SQL 的优秀入门材料:
使用 Tableau 进行数据可视化
SQL 教程:如何编写更优的查询
1. Tableau
Tableau Software 是一家总部位于西雅图的美国计算机软件公司,提供专注于商业智能(BI)的交互式数据可视化产品。Tableau 的主要产品包括 Tableau Desktop、Tableau Public 和 Tableau Online。您可以在此处了解更多信息。出于本教程的目的,我们将使用 Tableau Desktop(提供 14 天试用),因为免费的 Tableau Public 版本不支持 SQL 连接。
安装
从官方网站下载 Tableau Desktop 版本。按照安装说明进行操作,如果点击 Tableau 图标后出现下图界面,即表示可以开始使用。
2. 关系型数据库:快速概览
数据库管理系统(DBMS)是与终端用户、应用程序以及数据库本身交互以捕获和分析数据的软件。用于关系型数据库的 DBMS 称为关系数据库管理系统(RDBMS)。
关系型数据库由一个或多个信息表组成。表中的行称为记录,表中的列称为字段或属性。包含两个或以上相关表的数据库称为关系型数据库,即相互关联的数据。主要的 RDBMS 包括 Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Microsoft Access 和 SQLite。
关系型数据库的核心思想是将数据按共同主题拆分,每个主题使用一张表来描述其记录。
来源 ## SQL SQL,即结构化查询语言,是为 RDBMS 设计的语言。它是一种用于操作数据、访问数据库的声明式语言。SQL 可用于在数据库中插入、修改、更新和查询数据。SQL 可视为一种面向数据库的语言。 # 3. 连接到 SQL Server 在 Microsoft SQL Server 数据中,往往隐藏着被标准报告和复杂 BI 工具掩盖的价值。Tableau 通过让任何人都能对 SQL Server 数据进行深入的可视化分析,从而带来洞见。我们可以将 Tableau 实时连接到 SQL Server,以执行经过优化、针对平台的查询,或直接将数据引入 Tableau 的分析引擎,减轻数据库负担。下面通过一个示例,演示如何将 SQL Server 数据库连接到 Tableau Desktop 并用其创建可视化。 ## 示例数据库 为了演示,我们将使用托管在 AWS 上的一个可公开访问的 SQL Server 实例,以及一个基于 Tableau 内置 Superstore 数据集创建的数据库。它包含产品、销售、利润等信息。作为数据分析师,我们的目标是分析数据,找出这家虚构公司中的关键改进点。该 SQL Server 实例由经常为 Tableau 用户撰写博客的 Ken Flerlage 托管。 ## 访问示例数据库 - 安装 SQL Server Management Studio(SSMS)。SSMS 是用于管理任意 SQL 基础架构的免费集成环境。通过 SSMS,您可以部署、监控和升级应用程序使用的数据层组件,并编写查询和脚本。 - 下载并安装到您的系统后,将看到如下界面,提示输入特定凭据。
输入以下凭据:
Server Name: ec2-52-14-205-70.us-east-2.compute.amazonaws.com
Authentication: SQL Server Authentication
Login: SQL
Password: SQL
技术支持
您现在将获得对“SuperStoreUS”数据库的“只读”访问权限。
在本例中,ec2–52–14–205–70.us-east-2.compute.amazonaws.com 是实例名称,SuperstoreUS 和 Test 是数据库,而 Orders、Customers 等是SuperstoreUS 数据库中的表。因此,可以有多个实例,每个实例包含多个数据库,而每个数据库又可以包含多张表。
4. 将 SQL 数据导入 Tableau
设置连接
打开 Tableau Desktop,进入起始界面。此处的连接面板提供多种可连接到 Tableau 的数据源选项。我们将连接到 Microsoft SQL Server。
点击 Microsoft SQL Server 选项后,会打开一个新界面,要求输入希望 Tableau 连接的服务器。输入相关信息后,将进入熟悉的 Tableau 工作区。
现在,我们可以从可用数据库列表中进行选择。这里我们选择 SuperStore US 数据库。
您现在可以将所需表拖入视图。我们将拖入 orders 表进行后续分析。预览窗格提供 立即更新(手动加载预览)或 自动更新 的选项。
从同一数据库的多张表获取数据
也可以通过连接(join)在 Tableau 中引入多张表的数据。连接是指按某个公共字段将相关表合并。例如,可以连接 Orders 表与 Returns 表,因为它们拥有名为 Order-ID 的公共列。连接会通过将不同表的列并排添加来创建一个虚拟表。
连接(Join)
如果分析需要使用来自多个来源的数据,这称为数据混合(Data Blending)。您可以在此处了解更多关于数据混合的内容。
混合(Blend) #
5. 自定义 SQL
自定义 SQL 让用户可以控制要导入 Tableau 的数据。此功能并非专注于编写 SQL 查询,而是侧重定义数据集。定义新的自定义 SQL 的流程如下: - 点击屏幕左侧的自定义 SQL 选项卡,会打开一个对话框。 - 在对话框中编写您要执行的自定义查询。 - 更新结果,此处我们仅获取数量大于 4 的订单。 - 然后切换到工作表,在 Tableau 中开始探索分析。
由于数据量有限,上述查询较为简单。不过,您同样可以执行更复杂的查询。
6. 数据源筛选器
与自定义 SQL 类似,也可以通过数据源筛选器将特定数据导入 Tableau。下面看看如何使用这些筛选器。
- 将
Orders 选项卡拖入视图。Orders 表包含一个名为 Region 的字段,表示美国商品销售的四个区域。
- 假设我们只想要西部(West)和中部(Central)区域的订单。前往右上角的筛选器,点击
添加,然后再次添加。
- 会出现字段列表。选择
Region 字段或您需要的任何字段。
- 接着会显示所选字段的可能取值列表。选择所需取值并点击“确定”。
- 这样即可在连接层返回经过筛选的数据。
请注意,自定义 SQL 查询和数据源筛选器这两种方法应仅在特定场景下使用。最佳做法通常是先将数据连接到 Tableau,再在 Tableau 内使用筛选器。
7. 在 Tableau 中进行分析
将 SQL Server 中的数据导入 Tableau 后,便可在 Tableau 中轻松开展分析。我们可以通过多种方式分析工作表中的数据:
因此,将数据从 SQL Server 导入后,在 Tableau 中的分析与其他常规分析一样直观易行。
8. 结论
同时使用 SQL 和 Tableau,可以将数据分析提升到新的层次。我们可以轻松将 SQL Server 连接至 Tableau,并将数据直接提取到其中。Tableau 允许用户只需轻点一下即可切换连接,将内存查询应用到更大的数据集。SQL 十分有用,而与 Tableau 的专业能力结合使用,可令分析更有力度、更具洞察力。
如果您希望进一步学习 SQL,欢迎学习 DataCamp 的 面向数据科学的 SQL 入门课程。
参考资料
数据是数据科学家工作与生活中不可或缺的一部分。从一家公司的销售与利润,到机场的旅客人数,一切都构成数据。所有这些数据都会被记录,并且多数情况下存储在称为数据库的文件中。数据科学家的一个重要任务,就是能够从数据库中获取数据并加以分析。大多数用于清洗的数据集成(ETL)工具,其实都在幕后运行 SQL 命令。因此,掌握一定的 SQL 知识,对Tableau 用户来说非常有价值。
目标
除了提供多种可视化优势,Tableau 还具备出色的即用型连接能力。Tableau 可以轻松与 SQL 等数据库管理系统(DBMS)集成。这在功能上带来更多优势,也方便习惯于使用 SQL 的数据科学家。Tableau 为 SQL Server 提供经过优化的实时连接器,使我们能够在直接使用数据的同时创建图表、报告和仪表板。
先决条件
本文假定您对 Tableau、其特性及其用于分析的方式已有一定了解。由于本文仅聚焦于 Tableau 与 SQL 的结合,建议先阅读以下现有教程,它们是学习 Tableau 和 SQL 的优秀入门材料:
使用 Tableau 进行数据可视化
SQL 教程:如何编写更优的查询
1. Tableau
Tableau Software 是一家总部位于西雅图的美国计算机软件公司,提供专注于商业智能(BI)的交互式数据可视化产品。Tableau 的主要产品包括 Tableau Desktop、Tableau Public 和 Tableau Online。您可以在此处了解更多信息。出于本教程的目的,我们将使用 Tableau Desktop(提供 14 天试用),因为免费的 Tableau Public 版本不支持 SQL 连接。
安装
从官方网站下载 Tableau Desktop 版本。按照安装说明进行操作,如果点击 Tableau 图标后出现下图界面,即表示可以开始使用。
2. 关系型数据库:快速概览
数据库管理系统(DBMS)是与终端用户、应用程序以及数据库本身交互以捕获和分析数据的软件。用于关系型数据库的 DBMS 称为关系数据库管理系统(RDBMS)。
关系型数据库由一个或多个信息表组成。表中的行称为记录,表中的列称为字段或属性。包含两个或以上相关表的数据库称为关系型数据库,即相互关联的数据。主要的 RDBMS 包括 Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Microsoft Access 和 SQLite。
关系型数据库的核心思想是将数据按共同主题拆分,每个主题使用一张表来描述其记录。
来源 ## SQL SQL,即结构化查询语言,是为 RDBMS 设计的语言。它是一种用于操作数据、访问数据库的声明式语言。SQL 可用于在数据库中插入、修改、更新和查询数据。SQL 可视为一种面向数据库的语言。 # 3. 连接到 SQL Server 在 Microsoft SQL Server 数据中,往往隐藏着被标准报告和复杂 BI 工具掩盖的价值。Tableau 通过让任何人都能对 SQL Server 数据进行深入的可视化分析,从而带来洞见。我们可以将 Tableau 实时连接到 SQL Server,以执行经过优化、针对平台的查询,或直接将数据引入 Tableau 的分析引擎,减轻数据库负担。下面通过一个示例,演示如何将 SQL Server 数据库连接到 Tableau Desktop 并用其创建可视化。 ## 示例数据库 为了演示,我们将使用托管在 AWS 上的一个可公开访问的 SQL Server 实例,以及一个基于 Tableau 内置 Superstore 数据集创建的数据库。它包含产品、销售、利润等信息。作为数据分析师,我们的目标是分析数据,找出这家虚构公司中的关键改进点。该 SQL Server 实例由经常为 Tableau 用户撰写博客的 Ken Flerlage 托管。 ## 访问示例数据库 - 安装 SQL Server Management Studio(SSMS)。SSMS 是用于管理任意 SQL 基础架构的免费集成环境。通过 SSMS,您可以部署、监控和升级应用程序使用的数据层组件,并编写查询和脚本。 - 下载并安装到您的系统后,将看到如下界面,提示输入特定凭据。
输入以下凭据:
您现在将获得对“SuperStoreUS”数据库的“只读”访问权限。
在本例中,ec2–52–14–205–70.us-east-2.compute.amazonaws.com 是实例名称,SuperstoreUS 和 Test 是数据库,而 Orders、Customers 等是SuperstoreUS 数据库中的表。因此,可以有多个实例,每个实例包含多个数据库,而每个数据库又可以包含多张表。
4. 将 SQL 数据导入 Tableau
设置连接
打开 Tableau Desktop,进入起始界面。此处的连接面板提供多种可连接到 Tableau 的数据源选项。我们将连接到 Microsoft SQL Server。
点击
Microsoft SQL Server选项后,会打开一个新界面,要求输入希望 Tableau 连接的服务器。输入相关信息后,将进入熟悉的 Tableau 工作区。现在,我们可以从可用数据库列表中进行选择。这里我们选择 SuperStore US 数据库。
您现在可以将所需表拖入视图。我们将拖入
orders表进行后续分析。预览窗格提供立即更新(手动加载预览)或自动更新的选项。从同一数据库的多张表获取数据
也可以通过连接(join)在 Tableau 中引入多张表的数据。连接是指按某个公共字段将相关表合并。例如,可以连接
Orders表与Returns表,因为它们拥有名为Order-ID的公共列。连接会通过将不同表的列并排添加来创建一个虚拟表。连接(Join)
如果分析需要使用来自多个来源的数据,这称为数据混合(Data Blending)。您可以在此处了解更多关于数据混合的内容。
混合(Blend) #
5. 自定义 SQL
自定义 SQL 让用户可以控制要导入 Tableau 的数据。此功能并非专注于编写 SQL 查询,而是侧重定义数据集。定义新的自定义 SQL 的流程如下: - 点击屏幕左侧的自定义 SQL 选项卡,会打开一个对话框。 - 在对话框中编写您要执行的自定义查询。 - 更新结果,此处我们仅获取数量大于 4 的订单。 - 然后切换到工作表,在 Tableau 中开始探索分析。
由于数据量有限,上述查询较为简单。不过,您同样可以执行更复杂的查询。
6. 数据源筛选器
与自定义 SQL 类似,也可以通过数据源筛选器将特定数据导入 Tableau。下面看看如何使用这些筛选器。
Orders选项卡拖入视图。Orders 表包含一个名为Region的字段,表示美国商品销售的四个区域。添加,然后再次添加。Region字段或您需要的任何字段。请注意,自定义 SQL 查询和数据源筛选器这两种方法应仅在特定场景下使用。最佳做法通常是先将数据连接到 Tableau,再在 Tableau 内使用筛选器。
7. 在 Tableau 中进行分析
将 SQL Server 中的数据导入 Tableau 后,便可在 Tableau 中轻松开展分析。我们可以通过多种方式分析工作表中的数据:
因此,将数据从 SQL Server 导入后,在 Tableau 中的分析与其他常规分析一样直观易行。
8. 结论
同时使用 SQL 和 Tableau,可以将数据分析提升到新的层次。我们可以轻松将 SQL Server 连接至 Tableau,并将数据直接提取到其中。Tableau 允许用户只需轻点一下即可切换连接,将内存查询应用到更大的数据集。SQL 十分有用,而与 Tableau 的专业能力结合使用,可令分析更有力度、更具洞察力。
如果您希望进一步学习 SQL,欢迎学习 DataCamp 的 面向数据科学的 SQL 入门课程。
参考资料