教程:将无服务器 SQL 池用于 Power BI Desktop 并创建报表
在本教程中,你将了解:
- 创建演示数据库
- 创建用于报表的视图
- 将 Power BI Desktop 连接到无服务器 SQL 池
- 基于视图创建报表
先决条件
若要完成本教程,需要具备以下先决条件:
- Power BI Desktop - 用于可视化数据和创建报表。
- Azure Synapse 工作区 - 用于创建数据库、外部数据源和视图。
可选:
- 一个 SQL 查询工具,例如 Azure Data Studio 或 SQL Server Management Studio (SSMS)。
以下参数的值:
参数 | 说明 |
---|---|
无服务器 SQL 池服务终结点地址 | 用作服务器名称 |
无服务器 SQL 池服务终结点区域 | 用来确定示例中使用的存储 |
用来访问终结点的用户名和密码 | 用来访问终结点 |
用于创建视图的数据库 | 在示例中从其着手的数据库 |
1 - 创建数据库
对于演示环境,请创建你自己的演示数据库。 你将使用此数据库来查看元数据,而不是存储实际数据。
通过运行以下 Transact-SQL (T-SQL) 脚本,创建演示数据库(并在必要时删除现有数据库):
-- Drop database if it exists
DROP DATABASE IF EXISTS Demo
GO
-- Create new database
CREATE DATABASE [Demo];
GO
2 - 创建数据源
无服务器 SQL 池服务需要使用数据源来访问存储中的文件。 请为终结点所在区域中的存储帐户创建数据源。 尽管无服务器 SQL 池可以访问不同区域中的存储帐户,但将存储和终结点置于同一区域可提供更好的性能。
通过运行以下 Transact-SQL (T-SQL) 脚本来创建数据源:
-- There is no credential in data surce. We are using public storage account which doesn't need a secret.
CREATE EXTERNAL DATA SOURCE AzureOpenData
WITH ( LOCATION = 'https://azureopendatastorage.blob.core.windows.net/')
3 - 准备视图
通过运行以下 Transact-SQL (T-SQL) 脚本,基于外部演示数据创建 Power BI 要使用的视图:
利用以下查询在数据库 Demo
中创建视图 usPopulationView
:
DROP VIEW IF EXISTS usPopulationView;
GO
CREATE VIEW usPopulationView AS
SELECT
*
FROM
OPENROWSET(
BULK 'censusdatacontainer/release/us_population_county/year=20*/*.parquet',
DATA_SOURCE = 'AzureOpenData',
FORMAT='PARQUET'
) AS uspv;
演示数据包含以下数据集:
美国每个县按性别和种族划分的人口,数据来源于 2000 年和 2010 年十年一次的人口普查,采用 Parquet 格式。
文件夹路径 | 说明 |
---|---|
/release/ | 演示存储帐户中的数据的父文件夹 |
/release/us_population_county/ | 采用 Parquet 格式的美国人口数据文件,使用 Hive/Hadoop 分区方案按年份分区。 |
4 - 创建 Power BI 报表
使用以下步骤为 Power BI Desktop 创建报表:
打开 Power BI Desktop 应用程序并选择“获取数据”。
选择“Azure”>“Azure SQL 数据库”。
在“服务器”字段中键入数据库所在服务器的名称,然后在数据库名称中键入
Demo
。 选择“导入”选项,然后选择“确定”。选择首选的身份验证方法:
AAD 示例
SQL 登录示例 - 键入你的用户名和密码。
选择
usPopulationView
视图,然后选择“加载”。等待操作完成,然后会显示一个弹出窗口,指出“
There are pending changes in your queries that haven't been applied
”。 选择“应用更改”。等待“应用查询更改”对话框消失,这可能需要几分钟时间。
在加载完成后,按此顺序选择以下列来创建报表:
- countyName
- 填充 (population)
- stateName
清理资源
使用完此报表后,请通过以下步骤删除资源:
删除存储帐户的凭据
DROP EXTERNAL DATA SOURCE AzureOpenData
删除视图
DROP VIEW usPopulationView;
删除数据库
DROP DATABASE Demo;
后续步骤
转到查询存储文件,了解如何使用 Synapse SQL 来查询存储文件。