4. 连接到 SQL Server
下面通过一个示例演示如何将 SQL Server 数据库连接到 Power BI Desktop,并使用其分析数据库。
示例数据库
为了演示,我们将使用 AWS 上可公开访问的 SQL Server 实例,以及基于 Superstore 数据集创建的数据库。
该数据集包含有关产品、销售、利润等信息。作为数据分析师,我们的目标是分析这些数据,并在这家虚构公司中发现关键改进点。此 SQL Server 实例由 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、Customer 等是 SuperstoreUS 数据库中的表。因此,可以有多个实例,每个实例下又包含多个数据库,而每个数据库还可以包含多张表。
5. 将 SQL 数据导入 Power BI
Power BI Desktop 会将数据组织为查询。这意味着所有数据都会以类似表格的结构呈现。
设置连接
打开 Power BI Desktop 并进入起始界面。此处的 Get Data 选项卡提供了可连接到 Power BI Desktop 的多种数据源。我们将连接到 SQL Server。

单击 SQL Server 选项后,会打开一个新界面,要求输入要让 Power BI Desktop 连接的服务器。输入相关信息即可完成。

现在即可点击所需的表并查看其内容。要加载某张表,只需勾选其旁边的复选框并加载。

数据连接模式
SQL 数据库可通过两种方式连接到 Power BI Desktop,这两个选项会出现在主界面。
导入(Import)
顾名思义,导入方法会将所选表“导入”到 Power BI Desktop。随后 Power BI 使用这些导入的数据来创建可视化或进行任意操作。若要查看底层数据的任何更改,需要刷新数据,从而重新导入整个数据集。
DirectQuery
如果选择 DirectQuery 选项,Power BI Desktop 不会导入或复制任何数据。在通过可视化创建或交互数据时,Power BI Desktop 会查询底层数据源,这意味着我们始终在处理最新数据。不过,与导入方法不同,此方式在数据操作方面有一定限制。

这里有一篇文章对 DirectQuery 方法进行了深入介绍。
6. 查询编辑器
所有选定的表将被加载到 Power BI Desktop 中,并在 Data view 中以独立数据集的形式显示。

在这里,我们可以修改数据集。为此我们将借助查询编辑器。无论数据源为何,查询编辑器都可用于修改数据集。我们可以在查询编辑器中进行诸如重命名数据集、删除单列或多列等操作。

左侧窗格显示活动查询的数量,右侧窗格称为查询设置窗格,显示与查询相关的所有步骤。
高级编辑器
高级编辑器显示针对数据源执行的查询代码。其语法对应于 M(Power Query 公式语言)。也可以自行编写代码。

保存您的工作
在查询编辑器中对数据进行必要修改后,从查询编辑器的“文件”菜单中选择关闭并应用(Close & Apply)。这会将更改应用到 Power BI Desktop 中的数据。

7. 合并数据集
当我们希望将一个或多个数据集合并为一个时,合并数据集就派上用场了。合并同样通过查询编辑器完成。这次我们将从 SuperstoreUS 数据库加载三张表:Orders、Customers 和 Returns。

“字段”列已填入这三张选定的表。现在,点击 Edit Queries 按钮并进入 Combine 选项,其下拉菜单中会显示 Merge。我们将通过合并现有查询来创建一个新查询。

“合并”对话框会打开(如下图所示),我们选择要合并的表以及所需的连接类型。需要选择两个表中都存在的列。
让我们创建一个新查询,并将其命名为 Orders and customers. 我们将通过该查询合并 Orders 与 Customers 表。

这个新查询包含来自 orders 表的所有主列,以及来自 customers 表的关系列。删除所有关系列,仅保留最后一个(代表 Customers 查询)。然后从 Customers 查询中选择要添加到新合并查询的列。
下面的演示将使该过程更加清晰。

该合并查询由一个包含所有所需列的单一数据集组成。现在我们可以更轻松地处理这个单一数据集,而无需在多个数据源之间切换,从而避免混淆。
8. 构建与发布仪表板
当数据集准备就绪且所有处理完成后,我们即可开始仪表板的创建过程。Power BI 仪表板(也称为画布)是在单个页面上放置多个可视化,以帮助讲述一个故事。这些可视化称为磁贴,从报告中固定到仪表板上。
现在,让我们通过 Superstore 数据集来了解可以获得哪些洞察(来源:Power BI Dashboard):
- 各州利润

- 按细分的销售额与利润

- 按区域的销售额与利润

- 按子类别的销售额

- 各区域利润

- 数量

在调整大小、外观和颜色后,我们将得到如下所示的仪表板。

Superstore 仪表板
发布
数据只有在能够在人群或组织间共享时才真正有用。生成的仪表板或报告可以通过发布到 Power BI 服务来共享。随后我们可以使用 Power BI 应用查看或与这些仪表板/报告交互。

9. 结论
将 SQL 与 Power BI 结合使用可以将数据分析提升到新水平。我们可以轻松将 SQL Server 连接到 Power BI,并将数据直接提取到其中。Power BI 使用户只需点击即可切换连接,将内存中查询应用于更大的数据集。SQL 是一款非常实用的工具,与 Power BI 的专长结合使用,可帮助分析更具力度与洞察力。
Power BI 是 Microsoft 推出的云端商业分析服务,使任何人都能以更高的速度、更深入的理解和更高的效率来可视化与分析数据。它既强大又灵活,能够连接并分析各类数据。除了 Power BI 提供的多种可视化优势外,它还具备出色的开箱即用连接能力,例如可轻松与数据库集成。这为功能性带来更多优势,也方便了习惯于使用 SQL 工作的数据科学家。Power BI 为 SQL Server 提供了优化的实时连接器,使我们能够直接处理海量数据,轻松创建图表、报告和仪表板。
先决条件
由于本文仅聚焦于在 Power BI 中使用 SQL,我们建议先学习以下 DataCamp 课程与教程,作为出色的入门材料:
SQL Tutorial: How To Write Better Queries
Introduction to Power BI
1. Power BI
Power BI 既可在本地,也可在云端对数据进行分析与探索。Power BI 还能让用户轻松、安全地在同事与组织之间协作并共享自定义仪表板与交互式报告。
来源
使用 Power BI 的优势
Power BI 具有一些优势,使其优于现有的分析工具:
凭借 Power BI 的强大能力,微软已连续 12 年被 Gartner 评为“分析与商业智能平台”的领导者。
2019 年 Gartner 分析与商业智能平台魔力象限
Power BI 组件
Power BI 由多个组件构成,这些组件可单独购买并独立使用。
内容来源
选择使用哪一组件主要取决于项目或团队需求。不过,我们将使用Power BI Desktop,因为该组件主要用于生成业务报告与桌面端创作。通常其他工作也从 Power BI Desktop 开始,即在此处创建报告。
2. Power BI Desktop
Power BI Desktop 是一款可免费下载并安装在系统上的应用。它可以连接到多个数据源。通常,分析工作从Power BI Desktop 开始,在这里完成报告创建。随后将报告发布到 Power BI 服务,这样就可以将其共享到 Power BI 移动应用,人们也能在手机上查看报告。
来源
安装
Power BI 仅能在 Windows 设备上运行。Mac 用户可以在 Azure 中启动 Windows 虚拟机并在其上安装 Power BI,或使用 Turbo.net,直接从云端将 Power BI 流式传输到 Mac。
访问 Power BI 有两种方式:
根据您的选择,将软件下载到电脑上。接受许可协议后,点击 Power BI 图标/应用验证安装。如果出现如下界面,即表示一切就绪。
3. 快速上手
现在我们来了解一下 Power BI Desktop 的使用方式。本节将稍作探索,以便熟悉其界面。
工作区
下图标出了 Power BI 工作区的主要组成部分。
Power BI Desktop 工作区
数据源
Power BI 可连接到多种数据源。
Get Data图标会显示可将数据导入 Power BI 的所有可用选项。