使用PowerBI_Embed实现Web访问报表 part 1

这是使用微软Power BI Embed功能,在自定义WEB应用中嵌入报表的系列入门指南。系列文章共分为三篇,这是第一篇。

第一篇 背景和准备工作

第二篇 在PBI Desktop中开发和发布报表

第三篇 嵌入报表到自定义WEB应用中

背景

通常我们使用Power BI(下文简称为PBI)的模式分为以下几种情况

  • 个人用户或者小团队内部使用,在PBI Desktop内开发和查看报表数据。这种办法不需要付费,也不需要申请PBI 账号。
  • 一人开发,多个用户查看报表,就需要使用共享方式让其他用户通过PBI门户网站进行访问。这种方案的缺陷是,所有查看报表的人员都需要购买独立的PBI Pro账号,并且只能通过PBI门户进行查看操作。
  • 把报表嵌入到自定义Web应用中,这种方案下只有开发人员需要Pro账号,查看人员通过自定义Web应用查看报表。这是最灵活的方案,但是需要额外的程序开发工作量。

本文讨论最后一种嵌入方案,用一个简单的案例对整个开发流程进行简单演示。

Power BI 提供了Embedded功能(下文简称PBIE),使用特定 API,将仪表板和报表嵌入自定义应用中。 可以利用 JavaScript 和 REST API 满足个性化的嵌入需要。查看报表的用户无需了解有关 PBI 的机制,也无需Pro账号。

准备工作

配置ODBC

PBI Desktop,以及后面介绍的PBI网关,在报表开发和运行阶段都需要访问数据源。在我们的案例中,使用Greenplum数据库。虽然PBI Desktop自带了PostgreSQL的驱动,但是为了满足PBIE远程访问的要求,我们仍然自建一个ODBC数据源。如下图我们创建一个名称是GP-Prod的数据源,这个名称我们后面还会用到。

购买Power BI Pro账号

至少需要有一个 PBI Pro 帐户才能创建嵌入式应用程序。 这个帐户由报表开发管理人员使用,并且充当应用程序的主帐户(PBI服务将其视为代理帐户)。 借助 PBI Pro 帐户,在访问报表时生成嵌入令牌,用于访问PBI 服务中的仪表板和报表。

注册Azure AD App

在 Azure Active Directory (Azure AD) 中注册应用程序,用于嵌入 PBI 内容。使用 Azure AD 注册应用程序后,应用程序将能够访问 PBI REST API。 此操作能够为应用程序建立标识,并指定对 Power BI REST 资源的权限。

注册的关键步骤包括

  1. 使用 PBI 应用注册工具注册
  2. 使用 Azure 门户修改权限
  3. 获得应用程序ID

因为这个注册流程步骤比较多且官方手册有非常详细的描述,所以这里不再把具体步骤的图片贴上来。具体的操作请参考官方文档docs.microsoft.com/zh-cn/power…

建立Workspace

只有发布到应用工作区的报表才能被PBIE访问,所以我们要在Pro账号下创建一个应用工作区。

如下图,在【工作区】菜单下点击【创建应用工作区】,提供名称。其他的选项都使用默认值。

创建成功后,我们就拥有了默认的【我的工作区】和新建的【danlu_workspace】,可以在菜单中进行工作区的切换。如下图

安装Gateway

发布到工作区的报表和数据集,不能直接访问位于公司内部的数据库。PBI提供了网关来实现这种跨网络访问需求。简单的说,就是在本地机器上运行PBI Gateway服务,并且在Pro账户下配置网关需要访问的数据源,远端的报表和数据集通过网关来间接访问到本地数据。

登录PBI门户后,在右上角找到下载网关的链接,如下图

安装网关的流程很简单,但是有两点需要注意

  • 使用推荐的本地网关,如下图所示
  • 使用和创建工作区相同的Pro账号

配置Gateway

本地网关安装之后,远端同名Pro账号下就会出现这个网关信息。为了能够访问本地数据源,我们需要在远端网关下配置相应的数据源信息。一个网关下可以配置多个不同的数据源满足不同报表的需求,每个数据源都有自己的类型和连接信息。这里我们仅配置一个ODBC源。

首先在【设置】菜单下点击【管理网关】,如下图

我们会看到一个名称是GW-Danlu的网关(这个名称是本地创建网关时提供的名字),点击三个小圆点打开菜单,然后点击【添加数据源】,如下图

我们新建一个ODBC数据源来连接我们前面配置的本地ODBC DSN,特别要注意的是连接字符串的写法是 dsn=GP-Prod ,其中GP-Prod是我们本地数据源的名称,如下图

待续。。。

转载于:https://juejin.im/post/5b1f7b3e518825137f0d31d4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值