DWS对接Power BI操作指导
Power BI 是一款强大的自助商业智能分析软件,可以对来自不同系统的数据进行提取、清理、整合、汇总、分析、可视化展示。简单来说,Power BI就是一个数据分析工具,它能实现数据分析的所有流程,包括对数据的获取、清洗、建模和可视化展示。
本实践演示在弹性云服务器ECS上的Windows环境下安装Power BI,并使用On-premises Data Gateway(本地数据网关)模式与DWS进行对接。
本实践预计时长120分钟,基本流程如下:
- 准备工作:准备Windows系统的弹性云服务ECS,购买数据仓库服务DWS。
- 步骤一:安装Power BI环境及软件:安装.NET Framework、Npgsql驱动和Power BI。
- 步骤二:准备DWS的样例数据:在DWS创建好对应的数据库、Schema、表、用户,并授权该用户访问表的权限。
- 步骤三:将DWS对接到Power BI并生成和发布报表:实现Power BI与DWS的对接,并生成和发布报表。
- 步骤四:添加DWS的连接信息到Power BI的网关列表中:实现Power BI报表中的数据实时与DWS的数据同步。
准备工作
- 已购买Windows操作系统的弹性云服务ECS且Windows Server可正常使用(如已有ECS或本地PC环境满足要求则不需要单独购买ECS)。
- 已购买DWS集群。
- DWS集群能与ECS正常通信(本实践为内网通信),如果通过公网通信,请确保DWS已绑定公网IP。
步骤一:安装Power BI环境及软件
- 登录ECS。
- Windows环境下安装.NET Framework(本文以.NET Framework 4.8版本为例)。
安装完成后,如下显示。
图1 安装.NET Framework - 在Windows环境下安装PostgreSQL驱动程序。
- 获取Npgsql驱动(以4.0.10版本为例)安装包。
图2 Npgsql v4.0.10
- 安装过程中,需要勾选“Npgsql GAC Installation”,如下所示。
图3 安装Npgsql
安装完成后如下图所示。
图4 安装Npgsql成功
- 获取Npgsql驱动(以4.0.10版本为例)安装包。
- 安装Power BI Gateway标准版。
- 访问Power BI下载标准版安装程序。
- 在网关安装程序中,保持默认安装路径,接受使用条款,单击“Install”。
图5 安装Power BI
- 输入Office 365账户的邮箱,单击“Sign in”。
图6 输入邮箱
如果您注册了Office 365,则您的地址可能类似于xxx@contoso.onmicrosoft.com。
- 选择在此计算机上注册新网关,单击“Next”。
图7 注册新网关
- 输入网关的名称,该名称在租户中必须是唯一的。不需要勾选“Add to an existing gateway cluster”。
- 输入恢复密钥,该密钥在恢复或移动网关场景下需要用到,单击“Configure”。
图8 输入网关名称安装完成后,界面如下图所示。图9 安装Power BI完成
- 设置NAT网关。
步骤二:准备DWS的样例数据
- 连接到DWS的默认数据库gaussdb,创建一个名为dws_test的数据库。
1
CREATE DATABASE dws_test;
- 重新连接到新创建的数据库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);
- 查询表数据,验证数据是否插入。
1
SELECT * FROM dws_data.dws_order;
- 创建使用Power BI的数据库用户,密码需自定义。
1
CREATE USER dws_thiru PASSWORD '{password}';
- 授权该用户可访问对应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并生成和发布报表
- 已获取DWS的内网IP、端口。
- 登录DWS控制台,左侧选择“专属集群 > 集群列表”,单击集群名称进入集群详情页面。
- 在右侧的“连接信息”,记录“内网IP”、“端口”。
- 登录ECS的Windows桌面,双击打开“Power BI Desktop”,单击“Get Data”。
- 选择“Database > PostgreSQL Database”,单击“Concect”。
图10 连接数据库
- 输入DWS的连接信息。
- 单击“OK”。
- 继续输入以下信息。
- User name:连接数据库的用户,本例为dws_thiru。
- Password:dws_thiru对应的密码,创建时自定义。
图12 连接用户和密码 - 单击“Connect”进行连接。
连接将不成功,弹出如下错误,因为默认情况下是加密连接,需参见后续步骤改为非加密连接。
图13 加密连接报错信息 - 以上报错信息,单击“Cancel”退出。
- 回到Power BI的主界面,选择“File > Options and settings > Data source settings”。
图14 数据源设置
- 选中DWS的连接信息,单击“Edit Permissions...”,将“Encrypt connections”的勾选去掉,并单击“OK”。
图15 设置非加密
- 关闭数据源设置的窗口,退出设置。
- 回到Power BI主界面,重新执行3~7的连接即可。
- 连接成功后,选择需要加载的数据表,单击“Load”。
图16 选择加载的表
- 进入构建报表页面,单击“File”,单击“Save”,将报表保存到本地。
图17 保存报表
- 将报表发布到Power BI在线页面。
步骤四:添加DWS的连接信息到Power BI的网关列表中
基于数据仓库安全角度考虑,DWS不能直接暴露到公网上,因此Power BI无法一直与DWS建立连接以实时刷新已发布的报表数据。此时,需参见以下步骤将DWS连接信息添加到Power BI的网关列表中。
- 访问链接,登录在线Power BI,输入电子邮件和密码,单击“提交”。
- 在Power BI在线页面,单击左侧“Workspaces”,单击已保存报表的工作区。
图18 选中工作区
- 单击需要设置的报表右上角的
,单击“Settings”。
图19 设置报表 - 将“Use an On-premises or VNet data gateway”开关打开,并单击“Actions”下面的
,在弹出的下拉信息中,单击“Add to gateway”。
图20 添加到网关 - 填写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 添加网关信息 - 核对参数无误,单击“Create”。上方新创建的连接信息将出现在网关列表中。
图22 添加网关成功
- 选择新创的连接名“pbogw_dws_cn1”,单击“Apply”。
网关映射成功。已完成报表与DWS的数据对接。
图23 网关映射成功