文档首页/ 数据仓库服务 DWS/ 最佳实践/ 数据分析/ DWS对接Power BI操作指导
更新时间:2025-08-22 GMT+08:00

DWS对接Power BI操作指导

Power BI 是一款强大的自助商业智能分析软件,可以对来自不同系统的数据进行提取、清理、整合、汇总、分析、可视化展示。简单来说,Power BI就是一个数据分析工具,它能实现数据分析的所有流程,包括对数据的获取、清洗、建模和可视化展示。

本实践演示在弹性云服务器ECS上的Windows环境下安装Power BI,并使用On-premises Data Gateway(本地数据网关)模式与DWS进行对接。

本实践预计时长120分钟,基本流程如下:

  1. 准备工作:准备Windows系统的弹性云服务ECS,购买数据仓库服务DWS。
  2. 步骤一:安装Power BI环境及软件:安装.NET Framework、Npgsql驱动和Power BI。
  3. 步骤二:准备DWS的样例数据:在DWS创建好对应的数据库、Schema、表、用户,并授权该用户访问表的权限。
  4. 步骤三:将DWS对接到Power BI并生成和发布报表:实现Power BI与DWS的对接,并生成和发布报表。
  5. 步骤四:添加DWS的连接信息到Power BI的网关列表中:实现Power BI报表中的数据实时与DWS的数据同步。

准备工作

  • 已购买Windows操作系统的弹性云服务ECS且Windows Server可正常使用(如已有ECS或本地PC环境满足要求则不需要单独购买ECS)。
  • 已购买DWS集群。
  • DWS集群能与ECS正常通信(本实践为内网通信),如果通过公网通信,请确保DWS已绑定公网IP。

步骤一:安装Power BI环境及软件

  1. 登录ECS。
  2. Windows环境下安装.NET Framework(本文以.NET Framework 4.8版本为例)。

    安装完成后,如下显示。

    图1 安装.NET Framework

  3. 在Windows环境下安装PostgreSQL驱动程序。

    1. 获取Npgsql驱动(以4.0.10版本为例)安装包。
      图2 Npgsql v4.0.10
    2. 安装过程中,需要勾选“Npgsql GAC Installation”,如下所示。
      图3 安装Npgsql

      安装完成后如下图所示。

      图4 安装Npgsql成功

  4. 安装Power BI Gateway标准版。

    1. 访问Power BI下载标准版安装程序。
    2. 在网关安装程序中,保持默认安装路径,接受使用条款,单击“Install”。
      图5 安装Power BI
    3. 输入Office 365账户的邮箱,单击“Sign in”。
      图6 输入邮箱

      如果您注册了Office 365,则您的地址可能类似于xxx@contoso.onmicrosoft.com。

    4. 选择在此计算机上注册新网关,单击“Next”。
      图7 注册新网关
    5. 输入网关的名称,该名称在租户中必须是唯一的。不需要勾选“Add to an existing gateway cluster”。
    6. 输入恢复密钥,该密钥在恢复或移动网关场景下需要用到,单击“Configure”。
      图8 输入网关名称
      安装完成后,界面如下图所示。
      图9 安装Power BI完成

  5. 设置NAT网关。

    1. 登录NAT网关控制台,左侧选择“网络连接 > NAT网关 > 公网NAT网关”。
    2. 购买一个公网NAT网关,此处不再赘述,详情参见NAT网关文档
    3. 单击已购买的公网NAT右侧的“设置规则”,切换到“DNAT规则”,单击“添加DNAT规则”,按以下配置。

    4. 单击“确定”。

步骤二:准备DWS的样例数据

  1. 连接到DWS的默认数据库gaussdb,创建一个名为dws_test的数据库。

    1
    CREATE DATABASE dws_test;
    

  2. 重新连接到新创建的数据库dws_test,创建名为dws_data的SCHEMA,同时在该SCHEMA下创建名为rpg_order的表,并插入4条数据。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    CREATE SCHEMA dws_data;
       
    CREATE TABLE dws_data.dws_order
            ( order_id      VARCHAR,
              order_channel VARCHAR,
              order_time    VARCHAR,
              cust_code     VARCHAR,
              pay_amount    DOUBLE PRECISION,
              real_pay      DOUBLE PRECISION )
    DISTRIBUTE BY HASH (order_id);
     
    INSERT INTO dws_data.dws_order VALUES ('202306270001', 'webShop', '2023-06-27 10:00:00', 'CUST1', 1000, 1000);
    INSERT INTO dws_data.dws_order VALUES ('202306270002', 'webShop', '2023-06-27 11:00:00', 'CUST2', 5000, 5000);
    INSERT INTO dws_data.dws_order VALUES ('202307100003', 'webShop', '2023-07-10 13:00:00', 'CUST1', 3000, 3000);
    INSERT INTO dws_data.dws_order VALUES ('202307200004', 'webShop', '2023-07-20 14:00:00', 'CUST2', 4000, 4000);
    

  3. 查询表数据,验证数据是否插入。

    1
    SELECT * FROM dws_data.dws_order;
    

  1. 创建使用Power BI的数据库用户,密码需自定义。

    1
    CREATE USER dws_thiru PASSWORD '{password}';
    

  2. 授权该用户可访问对应Schema和表的权限。

    1
    2
    GRANT USAGE ON SCHEMA dws_data TO dws_thiru;
    GRANT SELECT ON dws_data.dws_order TO dws_thiru;
    

步骤三:将DWS对接到Power BI并生成和发布报表

  1. 已获取DWS的内网IP、端口。

    1. 登录DWS控制台,左侧选择“专属集群 > 集群列表”,单击集群名称进入集群详情页面。
    2. 在右侧的“连接信息”,记录“内网IP”、“端口”。

  2. 登录ECS的Windows桌面,双击打开“Power BI Desktop”,单击“Get Data”。
  3. 选择“Database > PostgreSQL Database”,单击“Concect”。

    图10 连接数据库

  4. 输入DWS的连接信息。

    • Server:本例DWS与ECS在同一VPC中,输入1查询到的内网IP和端口即可。
    • Database:输入1创建的数据库名称dws_test。
    • Data Connectivity mode:选择“DirectQuery”
      图11 DWS连接信息

  5. 单击“OK”。
  6. 继续输入以下信息。

    • User name:连接数据库的用户,本例为dws_thiru。
    • Password:dws_thiru对应的密码,创建时自定义。
    图12 连接用户和密码

  7. 单击“Connect”进行连接。

    连接将不成功,弹出如下错误,因为默认情况下是加密连接,需参见后续步骤改为非加密连接。

    图13 加密连接报错信息

  8. 以上报错信息,单击“Cancel”退出。
  9. 回到Power BI的主界面,选择“File > Options and settings > Data source settings”。

    图14 数据源设置

  10. 选中DWS的连接信息,单击“Edit Permissions...”,将“Encrypt connections”的勾选去掉,并单击“OK”。

    图15 设置非加密

  11. 关闭数据源设置的窗口,退出设置。
  12. 回到Power BI主界面,重新执行3~7的连接即可。
  13. 连接成功后,选择需要加载的数据表,单击“Load”。

    图16 选择加载的表

  14. 进入构建报表页面,单击“File”,单击“Save”,将报表保存到本地。

    图17 保存报表

  15. 将报表发布到Power BI在线页面。

    1. 回到Power BI主界面,选择“File > Publish > Publish to Power BI”。
    2. 如果当前未登录,系统将要求您通过指定电子邮件和密码进行登录。

    3. 登录成功后进入发布页面。选择工作空间,单击“Select”。

      出现以下成功消息,表示报表已发布成功。

步骤四:添加DWS的连接信息到Power BI的网关列表中

基于数据仓库安全角度考虑,DWS不能直接暴露到公网上,因此Power BI无法一直与DWS建立连接以实时刷新已发布的报表数据。此时,需参见以下步骤将DWS连接信息添加到Power BI的网关列表中。

  1. 访问链接,登录在线Power BI,输入电子邮件和密码,单击“提交”。
  2. 在Power BI在线页面,单击左侧“Workspaces”,单击已保存报表的工作区。

    图18 选中工作区

  3. 单击需要设置的报表右上角的,单击“Settings”。

    图19 设置报表

  4. 将“Use an On-premises or VNet data gateway”开关打开,并单击“Actions”下面的,在弹出的下拉信息中,单击“Add to gateway”。

    图20 添加到网关

  5. 填写DWS的连接信息,如表1所示。

    表1 添加网关信息

    参数

    描述

    示例

    Connection name

    连接名称。

    用户自定义

    Server

    DWS的连接地址和端口。

    192.168.0.196:8000

    Database

    待连接的DWS数据库名称。

    dws_test

    Authentication method

    鉴权方式。

    Basic

    Username

    数据库用户名称。

    dws_thiru

    Password

    数据库用户密码。

    前面用户自定义的密码

    Encrypted connection

    是否加密连接。

    Not encrypted

    Privacy level

    隐私级别。

    Organizational

    图21 添加网关信息

  6. 核对参数无误,单击“Create”。上方新创建的连接信息将出现在网关列表中。

    图22 添加网关成功

  7. 选择新创的连接名“pbogw_dws_cn1”,单击“Apply”。

    网关映射成功。已完成报表与DWS的数据对接。

    图23 网关映射成功

更多信息

  • 了解PowerBI,请访问官网
  • 了解更多安装过程,请访问官网