教程:将无服务器 SQL 池用于 Power BI Desktop 并创建报表

在本教程中,你将了解:

  • 创建演示数据库
  • 创建用于报表的视图
  • 将 Power BI Desktop 连接到无服务器 SQL 池
  • 基于视图创建报表

先决条件

若要完成本教程,需要具备以下先决条件:

可选:

以下参数的值:

参数 说明
无服务器 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 创建报表:

  1. 打开 Power BI Desktop 应用程序并选择“获取数据”。

    Open Power BI desktop application and select get data.

  2. 选择“Azure”>“Azure SQL 数据库”。

    Select data source.

  3. 在“服务器”字段中键入数据库所在服务器的名称,然后在数据库名称中键入 Demo。 选择“导入”选项,然后选择“确定”。

    Select database on the endpoint.

  4. 选择首选的身份验证方法:

    • AAD 示例

      Click Sign in.

    • SQL 登录示例 - 键入你的用户名和密码。

      Use SQL login.

  5. 选择 usPopulationView 视图,然后选择“加载”。

    Select a View on the database that is selected.

  6. 等待操作完成,然后会显示一个弹出窗口,指出“There are pending changes in your queries that haven't been applied”。 选择“应用更改”。

    Click apply changes.

  7. 等待“应用查询更改”对话框消失,这可能需要几分钟时间。

    Wait for a query to finish.

  8. 在加载完成后,按此顺序选择以下列来创建报表:

    • countyName
    • 填充 (population)
    • stateName

    Select columns of interest to generate a map report.

清理资源

使用完此报表后,请通过以下步骤删除资源:

  1. 删除存储帐户的凭据

    DROP EXTERNAL DATA SOURCE AzureOpenData
    
  2. 删除视图

    DROP VIEW usPopulationView;
    
  3. 删除数据库

    DROP DATABASE Demo;
    

后续步骤

转到查询存储文件,了解如何使用 Synapse SQL 来查询存储文件。