博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用PowerBI_Embed实现Web访问报表 part 1
阅读量:6850 次
发布时间:2019-06-26

本文共 1844 字,大约阅读时间需要 6 分钟。

这是使用微软Power BI Embed功能,在自定义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

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

建立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

你可能感兴趣的文章
mysql备份和恢复总结
查看>>
软件明明已经删除 控制面板里还有名称
查看>>
深入浅出的SQL server 查询优化
查看>>
Hyper-V vNext新的虚拟机配置文件、配置版本
查看>>
通俗易懂,各常用线程池的执行 流程图
查看>>
CentOS 6.4 安装python2.7/mysqldb/ipython
查看>>
hive0.11 hiveserver custom认证bug
查看>>
iface eth0 inet dhcp
查看>>
MDT2008部署之二LTI部署之一
查看>>
centos快速安装cacti
查看>>
经典蓝屏案意义破解
查看>>
Java基础系列5:访问控制权限
查看>>
Windows Phone SDK 8.0 新特性-Speech
查看>>
VS~单步调试DLL
查看>>
MyEclipse环境下Hibernate入门实例
查看>>
VC+CSocket文件传送示例
查看>>
职业生涯中的选择时机非常重要,各种条件还没成熟时的时候,因为诱惑而贸然行事,只会得到适得其反的结果...
查看>>
[WebDevelopment]搜索引擎优化(SEO)工具包
查看>>
Symbian OS开发入门(二) :VS2003环境下Symbian工程的导入与建立
查看>>
RequiredFieldValidator 根据group组来触发验证
查看>>