本教程介绍以下操作:
- 创建演示数据库
- 创建用于报表的视图
- 将 Power BI Desktop 连接到无服务器 SQL 池
- 基于视图创建报表
若要完成本教程,需要具备以下先决条件:
- Power BI Desktop - 可视化数据并创建报表所需的。
- Azure Synapse 工作区 - 创建数据库、外部数据源和视图所需的工作区。
可选:
- SQL 查询工具,例如 Azure Data Studio 或 SQL Server Management Studio (SSMS)。
以下参数的值:
参数 | DESCRIPTION |
---|---|
无服务器 SQL 池服务终结点地址 | 用作服务器名称 |
无服务器 SQL 池服务终结点区域 | 用于计算样本中所使用的存储容量 |
用来访问终结点的用户名和密码 | 用于访问终结点 |
用于创建视图的数据库 | 用作示例起点的数据库 |
对于演示环境,请创建自己的演示数据库。 使用此数据库查看元数据,而不是存储实际数据。
通过运行以下 Transact-SQL(T-SQL)脚本创建演示数据库(并在必要时删除现有数据库):
-- Drop database if it exists
DROP DATABASE IF EXISTS Demo
GO
-- Create new database
CREATE DATABASE [Demo];
GO
无服务器 SQL 池服务需要数据源才能访问存储中的文件。 为位于终结点所在的同一区域中的存储帐户创建数据源。 尽管无服务器 SQL 池可以访问不同区域的存储帐户,但在同一区域中具有存储和终结点可提供更好的性能。
通过运行以下 Transact-SQL(T-SQL)脚本创建数据源:
-- There is no credential in data source. 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/')
通过运行以下 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 格式。
文件夹路径 | DESCRIPTION |
---|---|
/release/ | 演示存储帐户中的数据的父文件夹 |
/release/us_population_county/ | 采用 Parquet 格式的美国人口数据文件,使用 Hive/Hadoop 分区方案按年份进行分区。 |
使用以下步骤为 Power BI Desktop 创建报表:
打开 Power BI Desktop 应用程序并选择“ 获取数据”。
选择 Azure>Azure SQL 数据库。
键入数据库位于 “服务器” 字段中的服务器的名称,然后键入
Demo
数据库名称。 选择“ 导入 ”选项,然后选择“ 确定”。选择首选身份验证方法:
AAD 示例
SQL 登录名示例 - 键入用户名和密码。
使用 SQL 登录。
选择视图
usPopulationView
,然后选择“ 加载”。等待操作完成,然后将会弹出一个窗口,显示
There are pending changes in your queries that haven't been applied
。 选择应用更改。等待 “应用查询更改 ”对话框消失,这可能需要几分钟时间。
加载完成后,按照以下顺序选择列以创建报表:
- countyName
- 人口
- 州名
使用此报表后,请按照以下步骤删除资源:
删除存储帐户的凭据
DROP EXTERNAL DATA SOURCE AzureOpenData
删除视图
DROP VIEW usPopulationView;
删除数据库
DROP DATABASE Demo;
转到 查询存储文件 ,了解如何使用 Synapse SQL 查询存储文件。